考虑这个简单的代码:
"use strict";
var obj = {
f: function() {
this.prop = 'value';
g.bind( this )();
}
};
function g() {
console.log( this.prop );
}
如果我尝试验证此代码,jshint 会Possible strict violation.
在我调用console.log( this.prop );
. 这是因为this
在函数的严格模式下未定义。
但是我在调用它之前绑定了这个函数,所以this
是正确的对象。
我正在使用这种“设计模式”来避免使主要对象混乱。在参数中传递属性也会使函数变得混乱,所以我拒绝这样做。此外,这正是bind
它的用途。
JSHint 有没有办法让我这样做?