Bjo*_*orn 75 javascript jslint
所以我正在使用JSLint来尝试检测错误.我关闭了一些我不喜欢的选项,但是我没有看到任何能够使用window全局变量的方法.好吧,有Yahoo Widget选项,但这太过分了.
使用'window'有什么用处,为什么JSLint会说这会导致错误?
Mat*_*son 135
/*jslint browser: true*/
Run Code Online (Sandbox Code Playgroud)
对此是正确的解决方案.自2017-07-07起,您必须手动设置全局指令.从JSLint文档:
/*global*/指令用于指定一组可用于此文件的全局变量(通常是包含函数的函数和对象).这在浏览器中常用于在ES6模块出现之前将源文件链接在一起.强烈建议不要使用全局变量,但遗憾的是Web浏览器需要使用它们.只有在选择"假定浏览器"选项时才能使用/*global*/指令.
所以你需要使用:
/*jslint browser */
/*global window */
Run Code Online (Sandbox Code Playgroud)
bjo*_*ben 76
只需在脚本中发表评论即可:
/*global window */
... your script goes here
Run Code Online (Sandbox Code Playgroud)
此注释将告诉JSLint在window其他位置定义.
请参阅:http://www.JSLint.com/lint.html,
JSLint还识别
/* global */可以向JSLint指示此文件中使用的变量在其他文件中定义的注释.注释可以包含逗号分隔的名称列表.每个名称后面都可以跟冒号后跟true或false,true表示该变量可以由此文件赋值,false表示不允许赋值,这是默认值.
如果希望窗口默认为全局,而不必将注释应用于脚本,则可以在本地文件predef:["window"]的JSLINT函数内添加对象文字参数jslint.js.
顺便说一下,我正在使用predef:["$","window"]jQuery全局.
更新:
这个答案在2009年是正确的.截至目前,您应该使用/*jslint browser: true*/Matt Clarkson提供的解决方案.
| 归档时间: |
|
| 查看次数: |
38233 次 |
| 最近记录: |