JavaScript使用两个相等运算符:===|!==和==|!=。人们普遍认为进行比较的最佳做法是使用前一组运算符。“如果两个操作数具有相同的类型和值,则===比较为真,而!==比较为假。”—JavaScript:TheGoodParts然而,如果你使用==和!=,当比较不同类型的操作数时,你会遇到问题。在这种情况下,这组运算符将尝试对操作数的值进行无用的强制转换。Eval是坏的同义词对于那些不熟悉JavaScript的人来说,函数“evel”让我们可以访问JavaScript编译器。我们可以通过将字符串参数传递给“eval”来获取字符串执行的结果。这不仅会大大降低脚本的性能,还会带来巨大的安全风险,因为它赋予传递的纯文本过多的权力。尽可能避免使用eval函数。不要偷懒从技术上讲,您确实可以省略大多数花括号和分号。大多数浏览器都可以正确解释以下代码片段:if(someVariableExists)x=false但是,再考虑一下这段代码:if(someVariableExists)x=falseanotherFunctionCall();有些人可能认为前面的代码等同于:if(someVariableExists){x=false;anotherFunctionCall();}不幸的是,他错了。其实它的原意是:if(someVariableExists)x=false;anotherFunctionCall();您还应该注意到代码中的缩进模仿了花括号的功能。不用说,这是一种可怕的做法,应该不惜一切代价避免。唯一一次可以省略大括号的是在单行语句中,但即使这样也很有争议。if(2+2===4)返回“干得漂亮”;总是想着未来。如果在将来的某个时候,您需要向此if语句添加更多命令怎么办?没办法,只能重写这段代码。处理这个问题的底线是要谨慎对待省略号。使用JSLintJSLint是由DouglasCrockford编写的调试器。只需将您的脚本复制进去,它就会快速扫描您的代码以查找任何明显的问题和错误。“JSLint获取JavaScript源代码的副本并扫描代码。如果发现问题,它会返回一条消息,描述问题及其在源代码中的大致位置。问题通常是语法错误,但并非总是如此。JSLint还看了一些风格习惯和结构问题,并不能证明你的代码是正确的,只是提供了另一双眼睛,帮助发现问题。-JSLint文档犯一些愚蠢的错误。将脚本放置在页面底部的技巧在本系列之前的文章中也有推荐。由于它在这里也非常合适(尽管它非常合适),所以我将这些信息直接粘贴到此处。请记住——此最佳实践的主要目标是为用户尽快加载页面。加载脚本时,浏览器无法继续,直到加载了整个脚本文件。因此,用户必须等待更长的时间才能注意到任何进展。如果JS文件的目的只是为了添加功能——例如,在单击按钮之后——那么将这些文件放在底部,在结束body标记之前。这绝对是最佳实践。更好的做法
Andnowyouknowmyfavoritekindsofcorn。