首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSHint选项"undef“做什么?

JSHint选项"undef“做什么?
EN

Stack Overflow用户
提问于 2014-06-10 22:59:34
回答 1查看 568关注 0票数 2

从读取文档来看,设置undef似乎控制了"x未定义“警告。但将其设置为false并不能阻止这些警告。所以这让我想知道undef到底做了什么。

有人能解释得比文档更好吗?

注意:要忽略这些警告,我必须使用/*jshint -W117 */

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-10 23:08:11

启用undef选项时,每当发现非本地(范围内既不是参数也不是"var“变量)变量使用情况时,就会发出警告。

例句中的代码为例,'myvar' is not defined.中的结果如下(此警告指示代码在运行代码时可能导致ReferenceError;而不是该值“未定义”)。

代码语言:javascript
复制
/*jshint undef:true */
function test() {
  var myVar = 'Hello, World';
  console.log(myvar); // Oops, typoed here. JSHint with undef will complain
}

当禁用该选项时,不存在任何警告,因为假定目的是访问myvar gobal变量;这反过来可以被全局指令接受/验证,下面的内容再次是无警告的。

代码语言:javascript
复制
/*jshint undef:true */
/*global myvar*/
function test() {
  var myVar = 'Hello, World';
  console.log(myvar); // Yup, we wanted the global anyway!
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24152206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档