|
39
|
| Bobby Borszich · 技术社区 · 17 年前 |
|
|
1
105
JSLint测试一个人(Douglas Crockford)关于什么是好的JavaScript代码的观点。Crockford很好,但他的一些观点充其量只是保留性的,比如下划线规则,或者使用递增/递减运算符。 在上面的输出中,JSLint标记的许多问题都是Crockford认为导致代码难以维护的问题,或者是他认为过去导致他做了一些很难维护的“聪明”的事情。 不过,我同意Crockford将某些东西识别为错误,比如缺少分号的事情。删除分号会迫使浏览器猜测在何处插入语句结尾标记,这有时可能很危险(总是比较慢)。其中有几个错误与JSLint不期望或不支持多个赋值有关,就像jQuery在第24行所做的那样。 如果您有关于JSLint错误的问题,请发电子邮件给Crockford,他非常善于回答,通过他的回答,您至少可以知道为什么JSLint是以这种方式实现的。
JSLint可以非常有助于识别代码中的问题,即使JQuery没有通过它所期望的标准。 |
|
|
2
9
JSLint帮助您发现问题,它不是有效性测试或思维的替代品。jQuery与js一样非常先进,这使得这样的结果可以理解。我的意思是,前几行是速度黑客,难怪最严格的js解析器会有几个错误。 无论如何,流行代码是完全正确的代码甚至是“好”的假设是有缺陷的。JQuery代码很好,您可以通过阅读它学到很多东西。你仍然应该在JSLint中运行你的东西,如果只是因为听到关于你所写内容的另一种意见是件好事的话。
|
|
|
3
7
人们希望jQuery就是这样,但不幸的是,这不是真的。jQuery很有用,也很流行,但它不是一个编写良好的JavaScript库。David Mark最近在comp.lang.javascript中发表了一篇对jQuery的严厉批评,其中分析了大量jQuery中糟糕代码的例子: http://groups.google.com/group/comp.lang.javascript/msg/37cb11852d7ca75c?hl=en& |
|
|
4
4
如果您没有积极地开发jQuery本身,为什么还要对其运行JSLint呢?如果它起作用,它就起作用,你不必担心它。 |
|
|
5
4
Crockford在JSLint中的测试更多地是为了实现一些他会感到舒服的东西,带回家见他的母亲,如果你将与你的代码结婚一段时间,这是一个值得关注的问题。 |
|
|
6
3
常见问题[1]中明确说明了JsLint的目的: JSLint定义了JavaScript的一个专业子集,这是一种比ECMAScript语言规范第3版定义的更严格的语言。该子集与JavaScript编程语言的代码约定中的建议有关 现在,如果您感到困惑:ECMA3已经是当今任何JS解释器提供的JS功能的子集(有关JavasScript和ECMAScript版本之间关系的概述,请参见[2]) 回答“JSlint有什么好处”的问题: *使用JsLint验证您使用的是Javascript的“安全”子集,该子集不可能破坏accross JS实现。 *使用Jslint验证您是否遵循了crockford代码约定[4]
|
|
|
7
1
我发现了一个JSLint非常非常有用的例子:当你抓取一个漂浮在“网络”上的大屁股库,然后抓取另一个,然后再抓取另一个,你很快就会发现自己在每一个新页面加载上加载50k的Javascript(缓存可能会有帮助,但它不是一个万灵丹解决方案)。
我发现最好的是迪安·爱德华的;我用它来压缩JohnFraser的决战(Javascript库的降价),但不幸的是,压缩破坏了代码。由于决战不再受支持,我不得不自己纠正它——JSlint为此提供了无价的帮助。 简而言之,JSlint对于准备JS代码进行重载压缩非常有用。 |
|
|
8
-1
|
|
|
9
-1
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Dr.0000FF · jQuery按钮点击不显示/隐藏内容 1 年前 |
|
|
user28928120 · 如何在jquery中选择所有类? 1 年前 |
|
Eliable · 使点击计数器和进度条协同工作 1 年前 |
|
Jack Maessen · 在处理程序上使用时如何获取输入类型 1 年前 |