通过阅读documentation设置undef
似乎可以控制“ x尚未定义”警告。但是将其设置为false不会停止这些警告。所以这让我想知道undef
的实际作用。
有人可以解释比文档更好的解释吗?
注意:要忽略这些警告,我必须使用/*jshint -W117 */
最佳答案
启用undef
选项时,只要发现使用非本地变量(范围中既不是参数也不是“ var”变量),就会发出警告。
在the example中获取代码,在'myvar' is not defined.
中产生以下结果(此警告表明,代码在运行时可能会导致ReferenceError;而不是值是“ undefined”。)
/*jshint undef:true */
function test() {
var myVar = 'Hello, World';
console.log(myvar); // Oops, typoed here. JSHint with undef will complain
}
禁用该选项时,不会发出警告,因为它假定要访问
myvar
gobal变量。这又可以通过global directive接受/验证,以下内容再次没有警告。/*jshint undef:true */
/*global myvar*/
function test() {
var myVar = 'Hello, World';
console.log(myvar); // Yup, we wanted the global anyway!
}
关于javascript - JSHint选项“undef”有什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24152206/