为什么要将此赋值给var break jshint.com
我知道如何在jshint.com中绕过它。
另外,我知道如何摆脱它。
但我想知道严格的定义是什么。
示例代码
function vFlipBP( element_or_string ) {
var previous_page_element,
previous_tag_element,
current_page_element,
select_element;
if( typeof ( element_or_string ) === 'string' ) {
select_element = document.getElementById( element_or_string );
} else {
select_element = this; // Possible strict violation <- error here
}
.
.
.
通话类型1
document.getElementById( this.tag_array[element] ).onclick = vFlipBP;
呼叫类型2
vFlipBP( this.tag_array[0] ); // string parameter
答案 0 :(得分:2)
当this
未绑定到某个值时会中断,这似乎是JSHint的情况,因为它是您所处的函数声明,而不是函数文字。如果您总是给this
一个值(使用call
或apply
,或者将该函数分配给某个属性),那么您可以放心地忽略它。