【发布时间】:2011-12-31 16:37:37
【问题描述】:
阅读 Doug 的“Javascript: the goodsparts”第 4 章关于函数的讨论“方法调用模式”和“函数调用模式”(第 28 页)。
当一个函数被存储为一个对象的属性时,我们称它为 方法。调用方法时,this 会绑定到该对象。
这很清楚。然后在同一页面中:
当函数不是对象的属性时,它会被调用 作为一个函数:
var sum = add(3, 4); // 总和是 7
当一个函数是 使用此模式调用,this 绑定到全局对象。这 是语言设计上的错误。
我的问题:
- 1.- 用“this绑定到全局对象”表示this绑定到全局范围?
- 2.- 使用“这是语言设计中的错误”意味着 this 应该遵循与方法遵循相同的规则?即,将this绑定到自己身上?
谢谢。-
编辑:给出的两个答案都非常有启发性并且有据可查。感谢所有参与者。
【问题讨论】:
标签: javascript object scope this