- 0
- 0
- 约6.97千字
- 约 13页
- 2017-12-21 发布于河南
- 举报
JavaScript初学者福利!必须收藏的24条小技巧
JavaScript初学者福利!必须收藏的24条小技巧
前端小编发布于 2013-12-15 22:52
查看数: 1989
评论数: 4
帖子模式
这篇文章将回顾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 nicely done;
复制代码
未雨绸缪很可能,有一天你需要在if语句块中添加更多的语句。这样的话,你必须重写这段代码。底线——省略是雷区。4.使用JSLintJSLint是由大名鼎鼎的道格拉斯(Douglas Crockford)编写的调试器。简单的将你的代码粘贴进JSLint中,它会迅速找出代码中明显的问题和错误。“JSLint扫面输入的源代码。如果发现一个问题,它返回一条描述问题和一个代码中的所在位置的消息。问题并不一定是语法错误,尽管通常是这样。JSLint还会查看一些编码风格和程序结构问题。这并不能保证你的程序是正确的。它只是提供了另一双帮助发现问题的眼睛。”——JSLing 文档部署脚本之前,运行JSLint,只是为了确保你没有做出任何愚蠢的错误。5.将脚本放在页面的底部在本系列前面的文章里已经提到过这个技巧,我粘贴信息在这里。
javascriptButton.png (24.5 KB, 下载次数: 6)
下载附件 保存到相册
2013-12-15 22:06 上传
记住——首要目标是让页面尽可能快的呈献给用户,脚本的夹在是阻塞的,脚本加载并执行完之前,浏览器不能继续渲染下面的内容。因此,用户将被迫等待更长时间。如果你的js只是用来增强效果——例如,按钮的单击事件——马上将脚本放在body结束之前。这绝对是最佳实践。建议
And now you know my favorite kinds of corn.
复制代码
6.避免在For语句内声明变量当执行冗长的for语句时,要保持语句块的尽量简洁,例如:糟糕
for(var i = 0; i someArray.length; i++) {
var container = document.getElementById(container);
container.innerHtml += my number: + i;
console.log(i);
}
复制代码
注意每次循环都要计算数组的长度,并且每次都要遍历dom查询“container”元素——效率严重地下!建议
var container = document.getElementById(container);
for(var i = 0, len = s
您可能关注的文档
- 高相液相综述.docx
- Oracle Solaris11 安装步骤--on SPARC.docx
- 2014年七市四月联考英语 B 卷子.doc
- _世界种子植物科的分布区类型系统_的修订_吴征镒.doc
- 英语翻译之成语.doc
- Unit 4:How the Rich Got Rich - and You Could Too.doc
- 影友必备--英文电影词汇大全.doc
- 2010JulyFirst_拼写与读音规则_总论.doc
- 从幽默句子中学习时间状语从句.doc
- 2015完整版英语复习资料.doc
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)