高效率JavaScript编写技巧整理
2020-02-15 16:00:46来源:爱站网 阅读 ()
对于JavaScript框架,相信很多人对于细节并没有那么在意,我们在日积月累中会导致效率下降的问题,下面是爱站技术频道小编为大家带来的高效率JavaScript编写技巧整理,一起来学习吧!
1.JavaScript是唯一一个对代码体积要求越小越好的语言,因此我们可以通过一些工具来精简和压缩JavaScript代码,如JSMin、Packer、YUICompressor等。这些工具会将局部变量的名字替换成很短的变量名,例如将parseFloat()替换成a()。因此我们在编写JavaScript代码时,应将每一个全局变量都映射到一个局部变量,如var parseFloat = parseFloat;
2.通过JSLint来检测你编写的JavaScript,可以发现里面隐藏的很多问题。JSLint是一个JavaScript验证工具(非开源),可以扫描JavaScript源代码来查找问题。如果JSLint发现一 个问题,JSLint就会显示描述这个问题的消息,并指出错误在源代码中的大致位置。
3.我们在写JavaScript的时候经常需要遍历一个数组,代码如下:
for (var i=0;i<array.length;i++){
//do something
}
JavaScript的成员变量是运行时确定的,这就导致每一次循环都需要查找数组length属性,因此我们可以增加一个变量来存储数组大小:
?
?
var l = array.length;
for (var i=0;i<l;i++){
//do something
}
这样看起来已经优化得不错了,但实际上我们可以做得更好:
?
?
var i=array.length;
while(i--){
//do something
}
这是因为这两行代码转换成汇编时,while语句所需的指令更少,在这里就不展开说明了,大家有兴趣可以去研究下汇编。
4.由于JavaScript中任何人都可以修改或添加Object.prototype中的属性,因此我们在遍历一个对象的属性时,应先使用hasOwnProperty进行判断,避免遍历整个原型链,影响效率。如:
?
?
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
//do something
}
}
5.在使用undefined的时候先定义一个局部变量undefined
?
?
var checkVal = function(val) {
var undefined;
return val !== undefined;
};
上述代码中,如果没有提前定义局部变量,直接使用全局变量undefined进行判断,如果第三方在别的地方定义了一个全局变量undefined=3将导致结果错误。
6.在将一个非字符串类型的变量转换成字符串类型时,可以直接使用
?
?
var str = (i + "").replace(...);
这个地方如果使用String(i)会慢很多。
7.定义数组的时候如果不需要使用数组类的排序等方法,只是进行一般的赋值和访问,应该直接写
?
?
var array = {};
而不是
?
?
var array = new Array();
否则这就和定义一个数字变量时写var i = new Number(1)一样没有意义
8.使用jQuery时,对同一个对象执行多个函数尽量放在同一行代码里,例如:
?
?
$("p.neat").addClass("ohmy").show("slow");
而不是
?
?
$("p.neat").addClass("ohmy");
$("p.neat").show("slow");
通过爱站技术频道小编介绍的高效率JavaScript编写技巧整理,我们都了解了这方面的知识,我们要保持好心态,才能越学越有劲。
原文链接:https://js.aizhan.com/develop/JavaScript/11561.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:鼠标拖拽移动子窗体的JS实现
- javascript面向对象入门基础详细介绍 2020-03-29
- JavaScript函数表达式详解及实例 2020-03-25
- 如何用javascript连接access数据库 2020-03-20
- js中去掉字串左右空格 2020-03-20
- Javascript中的经典技巧 2020-03-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash