20
|
Matthew Murdoch · 技术社区 · 14 年前 |
1
19
不要把杰斯林特的话当作福音。它所说的大部分是明智的,但它也附带了克罗克福德的个人教条很多。尤其是我并不总是同意他说的
那个不好;JSLint抱怨隐含的全局错误是正确的。
另一种方法是使用明确的
(JSLint也不喜欢这样,因为假设浏览器似乎没有定义
|
2
7
您可以尝试更短的版本:
|
3
6
这是一个非常老的问题,但我想我无论如何都会回答,因为上面没有一个为我清除jslint的所有错误,因为我怀疑lint'r已经更新了:-) 也许还有其他方法可以做到这一点,但截至2013年,这是我能想到的最好的方法 如果您想要一个无错误的jsLint模块模式,它有一个名称空间和严格的
“this”是避免范围外错误的必要条件(看起来不重要,但我猜使用“this”是显式的,而仅仅使用ns或var ns都会抛出错误。
当然,其他工具不喜欢将“this”作为一个不确定的参数来警告它是全局的(当然这是目的),所以。。。番茄 |
4
3
您可以通过
|
5
1
当然,未定义检查的重点是确保用户不会重复加载或覆盖现有的命名空间。因此,我认为你做得太过分了。 怎么样:
|
6
1
我以前遇到过这个问题。您肯定不想使用final表单,因为它完全绕过了对已定义变量的检查,并且总是将其覆盖为空对象,即使其中已经存储了内容。 我认为倒数第二个表单最适合创建名称空间,但实际上第一个表单也不错。JSLint报告的错误在我看来有点像第二十二条军规,不需要太担心。我认为省略声明不是什么大问题的原因是,在命名空间 是 |
Omar · 应为标识符,但看到的是“*”行7位置3 7 年前 |
shankar.siva · jslint应为“]”,而看到的是“/” 8 年前 |
theDmi · 为什么TSLint和JSLint报告空块? 9 年前 |
TimG · 在多个for循环中使用相同的变量名是不是一种糟糕的做法? 11 年前 |