当前位置:  开发笔记 > 编程语言 > 正文

如果jQuery未通过验证,JSLint有什么用处

如何解决《如果jQuery未通过验证,JSLint有什么用处》经验,为你挑选了3个好方法。

所以我一直在探索不同的方法来清理和测试我的JavaScript.我认为就像任何其他语言一样,改善的一种方法就是阅读好的代码.jQuery非常受欢迎,所以它必须具有一定程度的良好编码.

那么为什么当我通过JSLint的验证运行jQuery时,它给了我这样的信息:

错误:

第18行的问题字符5:预期标识符,而不是"未定义"(保留字).

不确定的,

第24行问题27:缺少分号.

jQuery = window.jQuery = window.$ = function(selector,context){

第24行的问题28:预期的标识符,而不是'='.

jQuery = window.jQuery = window.$ = function(selector,context){

第24行问题28: 停止,无法继续.(扫描0%).

这是使用JSLint和jquery-1.3.1.js完成的



1> foxxtrot..:

JSLint测试了一个特定的人(道格拉斯克罗克福德)关于什么是好的JavaScript代码的意见.Crockford非常好,但他的一些观点充其量只是肛门保留,如下划线规则,或使用增量/减量运算符.

JSLint在上面的输出中标记的许多问题都是Crockford认为导致难以维护代码的问题,或者他认为这些问题导致他过去做了一些难以维护的"聪明"事情.

有一些东西Crockford认为是我同意的错误,比如丢失的分号.删除分号会强制浏览器猜测插入语句结束标记的位置,这有时会很危险(它总是较慢).其中一些错误与JSLint有关,而不是期望或支持jQuery在第24行上执行的多个赋值.

如果你有一个关于JSLint错误的问题,请发送电子邮件给Crockford,他非常擅长回复,并且通过他的回复,你至少会知道为什么JSLint会以这种方式实现.

哦,只是因为图书馆很受欢迎并不意味着它的代码是好的.JQuery很受欢迎,因为它是一个相对快速,易于使用的库.它实施得很好,在很多人中很受欢迎.但是,您当然应该阅读更多代码,我们都应该.

即使JQuery没有通过它所希望的标准,JSLint在识别代码问题方面也非常有用.


所有要点都很好,很好地指出,流行并不等于好
始终使用{}是为了保护您免于以后需要向条件/循环块添加更多语句而忽略实际将代码放入块中,从而导致无意的行为.我不知道*任何*代码风格的工具,在放弃{}时不会犹豫不决.至于不是单行,在每个强制执行该工具的工具中都是可读性问题(默认情况下,Microsoft的StyleCop强制执行C#).另外,正如Crockford在他的几次演讲中所说,他为他设计了JSLint的规则,你可以禁用那些你不同意的人.
JQery现在实际上尝试兼容jslint!看这里 - > http://forum.jquery.com/topic/jquery-1-4-2-jslint-report
jQuery现在通过lint传递一些例外,他们在这里解释:http://docs.jquery.com/JQuery_Core_Style_Guidelines#JSLint

2> jacobangel..:

JSLint可以帮助您发现问题,它不是对有效性的测试,也不是思维的替代.随着js的发展,jQuery非常先进,这使得这样的结果变得可以理解.我的意思是前几行是速度黑客,难怪最严格的js解析器会有几个错误.

在任何情况下,流行代码完全正确的代码甚至"好"的假设是有缺陷的.JQuery代码很好,你可以从阅读中学到很多东西.你仍然应该通过JSLint运行你的东西,只是因为听到你写的东西的另一个意见是好的.

从JSLint的描述:

JSLint接受JavaScript源并对其进行扫描.如果发现问题,则会返回描述问题的消息以及源中的大致位置.问题不一定是语法错误,尽管通常是这样.JSLint着眼于一些样式约定以及结构问题.它并不能证明您的程序是正确的.它只是提供另一组眼睛来帮助发现问题.

JSLint定义了JavaScript的专业子集,这是一种比ECMAScript语言规范第3版定义的更严格的语言.该子集与JavaScript编程语言的代码约定中的建议相关.



3> vsedach..:

"jQuery很受欢迎,所以它必须有一定程度的良好编码."

人们希望jQuery可以这样,但不幸的是,这并不是真的.jQuery非常有用且受欢迎,但它不是一个编写良好的JavaScript库.David Mark最近在comp.lang.javascript中发布了对jQuery的严厉批评,它检查了jQuery中发现的大量代码的大量示例:

http://groups.google.com/group/comp.lang.javascript/msg/37cb11852d7ca75c?hl=en&


我只是读了整个帖子,并且了解到大卫马克是个家伙,jQuery很糟糕,所有的JS库都很糟糕,你自己写的任何东西都很糟糕,即使你写了它,它仍然很糟糕.我没有找到jQuery的任何替代品,或者根本没有任何有用的建议.它是jQuery
显然,应该吸得最少的是http://forkjavascript.org/我将为我的下一个项目尝试它.
推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有