给JavaScript初学者的24条最佳实践.docx
- 文档编号:14845298
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:12
- 大小:21.81KB
给JavaScript初学者的24条最佳实践.docx
《给JavaScript初学者的24条最佳实践.docx》由会员分享,可在线阅读,更多相关《给JavaScript初学者的24条最佳实践.docx(12页珍藏版)》请在冰点文库上搜索。
给JavaScript初学者的24条最佳实践
给JavaScript初学者的24条最佳实践
推荐15收藏
作为”30HTML和CSS最佳实践”的后续,本周,我们将回顾JavaScript的知识!
如果你看完了下面的内容,请务必让我们知道你掌握的小技巧!
1.使用===代替==
JavaScript使用2种不同的等值运算符:
===|!
==和==|!
=,在比较操作中使用前者是最佳实践。
“如果两边的操作数具有相同的类型和值,===返回true,!
==返回false。
”——JavaScript:
语言精粹
然而,当使用==和!
=时,你可能会遇到类型不同的情况,这种情况下,操作数的类型会被强制转换成一样的再做比较,这可能不是你想要的结果。
2.Eval=邪恶
起初不太熟悉时,“eval”让我们能够访问JavaScript的编译器(译注:
这看起来很强大)。
从本质上讲,我们可以将字符串传递给eval作为参数,而执行它。
这不仅大幅降低脚本的性能(译注:
JIT编译器无法预知字符串内容,而无法预编译和优化),而且这也会带来巨大的安全风险,因为这样付给要执行的文本太高的权限,避而远之。
3.省略未必省事
从技术上讲,你可以省略大多数花括号和分号。
大多数浏览器都能正确理解下面的代码:
if(someVariableExists)
x=false
然后,如果像下面这样:
if(someVariableExists)
x=false
anotherFunctionCall();
有人可能会认为上面的代码等价于下面这样:
if(someVariableExists){
x=false;
anotherFunctionCall();
}
不幸的是,这种理解是错误的。
实际上的意思如下:
if(someVariableExists){
x=false;
}
anotherFunctionCall();
你可能注意到了,上面的缩进容易给人花括号的假象。
无可非议,这是一种可怕的实践,应不惜一切代价避免。
仅有一种情况下,即只有一行的时候,花括号是可以省略的,但这点是饱受争议的。
if(2+2===4)return'nicelydone';
未雨绸缪
很可能,有一天你需要在if语句块中添加更多的语句。
这样的话,你必须重写这段代码。
底线——省略是雷区。
4.使用JSLint
JSLint是由大名鼎鼎的道格拉斯(DouglasCrockford)编写的调试器。
简单的将你的代码粘贴进JSLint中,它会迅速找出代码中明显的问题和错误。
“JSLint扫面输入的源代码。
如果发现一个问题,它返回一条描述问题和一个代码中的所在位置的消息。
问题并不一定是语法错误,尽管通常是这样。
JSLint还会查看一些编码风格和程序结构问题。
这并不能保证你的程序是正确的。
它只是提供了另一双帮助发现问题的眼睛。
”——JSLing文档
部署脚本之前,运行JSLint,只是为了确保你没有做出任何愚蠢的错误。
5.将脚本放在页面的底部
在本系列前面的文章里已经提到过这个技巧,我粘贴信息在这里。
记住——首要目标是让页面尽可能快的呈献给用户,脚本的夹在是阻塞的,脚本加载并执行完之前,浏览器不能继续渲染下面的内容。
因此,用户将被迫等待更长时间。
如果你的js只是用来增强效果——例如,按钮的单击事件——马上将脚本放在body结束之前。
这绝对是最佳实践。
建议
Andnowyouknowmyfavoritekindsofcorn.