javascript - 将函数分配为原型(prototype)函数的属性

标签 javascript

在 javascript 中,将函数指定为也可以用作类的函数的属性,这是一种不好的做法吗?一个简单的例子就不言而喻:

function MyClass() {
    this.myVar = 1;
}
MyClass.prototype.printMyVar = function() {
    MyClass.printerUtil(this.myVar);
};

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

在此示例中,应该在其自己的容器 (MyUtils.printerUtil) 中声明 MyClass.printerUtil 还是可以这样做? 您知道我可以阅读的任何相关文档/文章吗?

最佳答案

不,没关系,只要确保您不使用this,因为它是一个实例方法,它的行为就像一个静态方法。


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

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

MyClass.printCount = 0;

关于javascript - 将函数分配为原型(prototype)函数的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28240085/

相关文章:

javascript - 如何更新嵌套的 mongo 对象

javascript - 在fadeIn前面添加fadeOut

javascript - 使用 proxyAddresses 筛选器的 Microsoft Graph API 查询用户

javascript - jQuery v1.8.3 在 ie 8 和 ie 7 中创建错误 "Unexpected call to method or property access."

javascript - Jquery 和 CSS - 重叠的 div

javascript - 无法将图像文件从 React 前端发布到 Express 和 MySQL

javascript - 为什么过滤新的 JSON 对象会导致旧对象 self 更新?

javascript - Bootstrap 卡列砌体效果 - 更改高度卡会跳动

javascript - 创建 Javascript 游戏教程

javascript - nodejs如何在没有多线程的情况下允许更好的http请求性能?