在javascript中,将函数指定为也可以用作类的函数的属性是不好的做法。一个简单的例子可以说明一切:
function MyClass() {
this.myVar = 1;
}
MyClass.prototype.printMyVar = function() {
MyClass.printerUtil(this.myVar);
};
MyClass.printerUtil = function(text) {
console.log(text);
};
在这个例子中,应该在自己的容器(MyClass.printerUtil
)中声明MyUtils.printerUtil
,还是可以这样做?
你知道我能阅读的任何相关文件/文章吗?
答案 0 :(得分:2)
不行它只是确保你不使用this
,因为它是一个实例方法,它就像一个静态方法。
更一般地说,您也可以在类中存储变量,例如,如果您想要跟踪文本的打印次数(此代码仅用于演示目的,您可能应该在生产环境中不同地执行此操作) )
MyClass.printerUtil = function(text) {
console.log(text);
MyClass.printCount++;
};
MyClass.printCount = 0;