考虑这个简单的JavaScript代码 - http://jsfiddle.net/mark69_fnd/c2DRP/
使用JSLint验证代码会触发this
函数内inner
用法的jslint“严重违规”错误。但是,使用正确的非全局上下文调用该函数。
所以,我想知道如何为该特定函数抑制此JSLint错误?
感谢。
答案 0 :(得分:1)
JSLint不支持这一点,你必须忽略它。名为JSHint的社区分支有一个名为validthis
的选项,它可以抑制像你这样的情况下的警告:
当代码在严格模式下运行并且您在非构造函数中使用此选项时,此选项会禁止有关可能的严格违规的警告。您应该仅在函数范围内使用此选项 - 当您肯定在严格模式下使用此选项时(例如,如果使用Function.call调用函数)。
答案 1 :(得分:0)
您应该声明对" this"的引用,如:
function f() {
"use strict";
var ref = this;
function inner() {
alert(ref.msg);
}
inner.call({ msg:'hello' });
}