我刚刚在JSLint上测试了我的自定义图库脚本..所有错误都解决了,除了一个。
隐含的全局错误..这真的是一个错误吗?我可以忽略它,还是应该用它来解决这个错误..?
感谢您的回复!
Error:
Implied global:
<bunch of vars and other stuff i dont know>
这是什么意思?顺便说一下,我使用JQuery Library ..也许这就是问题^^ ..
答案 0 :(得分:6)
如果您使用外部声明的变量(例如在这种情况下),请在文件的顶部放置一个“全局”语句,如下所示:
/ * global $,document * /
答案 1 :(得分:2)
JSLint文档说:
未定义的变量和函数
JavaScript最大的问题是它 对全局变量的依赖, 特别是隐含的全局变量。 如果变量未明确 声明(通常使用var 声明),然后JavaScript假设 变量是全局的。这个可以 掩盖拼写错误的名字和其他 问题。
JSLint期望所有变量和 函数在它们之前被声明 使用或调用。这允许它 检测隐含的全局变量。它是 也是好的做法,因为它使 程序更容易阅读。
关心那个错误。几乎每个编码约定都要求你不要使用隐含的全局变量。
可以使用var
关键字声明变量。
答案 2 :(得分:1)
在为浏览器编写JavaScript代码时,向JSLint指出您处于浏览器模式是很有用的,例如包括:
/*jslint browser: true */
这应解决'document','setTimeout'和其他典型的浏览器默认值
由于jQuery可能没有在与JavaScript相同的上下文中进行评估,因此您需要知道有用的“$”可用于:
/*global $ */