从读取文档来看,设置undef似乎控制了"x未定义“警告。但将其设置为false并不能阻止这些警告。所以这让我想知道undef到底做了什么。
有人能解释得比文档更好吗?
注意:要忽略这些警告,我必须使用/*jshint -W117 */
发布于 2014-06-10 23:08:11
启用undef选项时,每当发现非本地(范围内既不是参数也不是"var“变量)变量使用情况时,就会发出警告。
以例句中的代码为例,'myvar' is not defined.中的结果如下(此警告指示代码在运行代码时可能导致ReferenceError;而不是该值“未定义”)。
/*jshint undef:true */
function test() {
var myVar = 'Hello, World';
console.log(myvar); // Oops, typoed here. JSHint with undef will complain
}当禁用该选项时,不存在任何警告,因为假定目的是访问myvar gobal变量;这反过来可以被全局指令接受/验证,下面的内容再次是无警告的。
/*jshint undef:true */
/*global myvar*/
function test() {
var myVar = 'Hello, World';
console.log(myvar); // Yup, we wanted the global anyway!
}https://stackoverflow.com/questions/24152206
复制相似问题