内部函数有时需要引用外部函数的this
。 JavaScript是否有广泛使用的习惯用法?我提出了一个解决方案,涉及将this
分配给另一个变量:
Object.defineProperty(Array.prototype, 'set', {
enumerable: false,
value: function (a) {
this.length = 0
var this1 = this
a.forEach(function (x) {
this1.push(x)
})
}
})
但我不确定这是否是最干净或最惯用的解决方案。
答案 0 :(得分:1)
我个人使用that
作为变量名而不是this1
,但除此之外,它还是干净的,传统的和惯用的Javascript。
Douglas Crockford似乎也建议使用that
。
按照惯例,我们创建一个私有变量。这是用来制作的 私有方法可用的对象。这是一个解决方法 ECMAScript语言规范中的错误导致此错误 内部功能设置不正确。
过去,我也看到有人使用self
。