将函数指定为原型函数的属性

时间:2015-01-30 16:15:19

标签: javascript

在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,还是可以这样做? 你知道我能阅读的任何相关文件/文章吗?

1 个答案:

答案 0 :(得分:2)

不行它只是确保你不使用this,因为它是一个实例方法,它就像一个静态方法。


更一般地说,您也可以在类中存储变量,例如,如果您想要跟踪文本的打印次数(此代码仅用于演示目的,您可能应该在生产环境中不同地执行此操作) )

MyClass.printerUtil = function(text) {
    console.log(text);
    MyClass.printCount++;
};

MyClass.printCount = 0;