JSLint(Javascript Validator网站) - 错误!隐含的全球:

时间:2011-01-07 11:58:20

标签: javascript jquery validation jslint

我刚刚在JSLint上测试了我的自定义图库脚本..所有错误都解决了,除了一个。 隐含的全局错误..这真的是一个错误吗?我可以忽略它,还是应该用它来解决这个错误..?

感谢您的回复!

alt text

Error:
Implied global:
<bunch of vars and other stuff i dont know>

这是什么意思?顺便说一下,我使用JQuery Library ..也许这就是问题^^ ..

3 个答案:

答案 0 :(得分:6)

如果您使用外部声明的变量(例如在这种情况下),请在文件的顶部放置一个“全局”语句,如下所示:

/ * global $,document * /

答案 1 :(得分:2)

JSLint文档说:

  

未定义的变量和函数

     

JavaScript最大的问题是它   对全局变量的依赖,   特别是隐含的全局变量。   如果变量未明确   声明(通常使用var   声明),然后JavaScript假设   变量是全局的。这个可以   掩盖拼写错误的名字和其他   问题。

     

JSLint期望所有变量和   函数在它们之前被声明   使用或调用。这允许它   检测隐含的全局变量。它是   也是好的做法,因为它使   程序更容易阅读。

关心那个错误。几乎每个编码约定都要求你不要使用隐含的全局变量。

可以使用var关键字声明变量。

答案 2 :(得分:1)

在为浏览器编写JavaScript代码时,向JSLint指出您处于浏览器模式是很有用的,例如包括:

/*jslint browser: true */

这应解决'document','setTimeout'和其他典型的浏览器默认值

由于jQuery可能没有在与JavaScript相同的上下文中进行评估,因此您需要知道有用的“$”可用于:

/*global $ */