Javascript 在内部函数中消除这种歧义
内部函数有时需要引用外部函数的Javascript 在内部函数中消除这种歧义,javascript,Javascript,内部函数有时需要引用外部函数的。JavaScript是否有一个广泛使用的习惯用法?我想出了一个解决方案,将这个赋值给另一个变量: Object.defineProperty(Array.prototype, 'set', { enumerable: false, value: function (a) { this.length = 0 var this1 = this a.forEach(function (x) {
。JavaScript是否有一个广泛使用的习惯用法?我想出了一个解决方案,将这个赋值给另一个变量:
Object.defineProperty(Array.prototype, 'set', {
enumerable: false,
value: function (a) {
this.length = 0
var this1 = this
a.forEach(function (x) {
this1.push(x)
})
}
})
但我不确定这是最干净还是最惯用的解决方案。我个人使用that
作为变量名,而不是this1
,但除此之外,它是干净、传统和惯用的Javascript
似乎还建议使用即
按照惯例,我们将该变量设为私有变量。这是用来制作的
私有方法可用的对象。这是一个解决方案
ECMAScript语言规范中的错误导致
内部功能的设置不正确
在过去,我也见过人们使用self
我个人使用self
,因为它对我来说似乎比那
更具描述性,但这显然只是个人偏好,你喜欢什么名字。更重要的是选择一个约定并坚持它,这样您的代码是一致的。如果您使用的是其他人编写的代码,请使用他们的约定来保持一致性。@jfriend00+1完全同意。一致性为王。