javascript - 在 JavaScript 中直接使用对象名称(而不是 this 关键字)有什么缺点吗?
问题描述
假设我有以下代码:
var myObj = {
// Case 1
myFunc1: function() {...},
// Case 2
myFunc2: function() {
console.log(this.myFunc1);
console.log(myObj.myFunc1);
}
}
在这两种情况下,结果是相同的。现在我的问题是:总是使用有什么缺点myObj.myFunc1()
吗?我不喜欢使用this
关键字,并且经常会出现一些我无法解决的意想不到的问题。如果我只是使用我的对象的名称来直接调用函数,我会遇到什么样的意外边缘情况?
解决方案
这真的归结为 OOP 和实例与静态方法。
对于静态方法,结果应该相同。对于实例方法,函数结果可能会根据您拥有的对象实例和这些对象的状态而有所不同。
你可能想通读这个,它可以比我在这里添加的更详细地解释:
https://abdulapopoola.com/2013/03/30/static-and-instance-methods-in-javascript/
推荐阅读
- apl - 如何在 Arch 上获取 dyalog APL?
- python - 无法对没有元素的张量执行约简函数 min,因为该操作在 THCTensorMathReduce.cu:64 处没有标识
- php - php 创建一个带有 customer_id 的关联数组
- reactjs - React Native 中组件之间的道具和共享数据
- reactjs - 如何使用反应钩子表单和是的来验证密码和确认密码
- selenium - 计算机找不到指定的文件和Win32错误
- node.js - 无法将nodejs应用引擎连接到postgres cloud sql
- github - 如何撤消最近对 git 的评论
- node.js - 当我连接到 SQL Server 时,Sequelize 连接出现问题
- c++ - (void(*)() sc) () 是什么意思?