我指的是这篇文章。
在其中,他定义了一个看起来像这样的函数:
function makeClass() {
return function _class() {
if(this instanceof _class) {
if(typeof this.init === 'function') {
this.init.apply(this, arguments);
}
} else {
throw new Error('Constructor called as a function');
}
};
}
然后你可以用它来做这样的事情:
var MyClass = makeClass();
MyClass.prototype = {
init: function(width, height) { ... },
clear: function(ctx) {... },
draw: function(ctx) { ... }
}
但现在我想初始化一些应该在所有实例之间共享的静态变量。我怎么做?