Javascript程序优化(3)
作者:Grace 来源:Grace 时间:2008-06-02 13:12:00
条件判断
优化 if 语句
用 if 和多个 else 语句时,将就有可能的情况放在最先,依次类推。同时尽量减少 else 和 if 的数量,将条件按照二叉树的方式进行排列。例如
if (i > 0 && i < 10) {
alert('between 0 and 10');
} else if (i > 9 && i < 20) {
alert('between 10 and 20');
} else if (i > 19 && i < 30) {
alert('between 19 and 30');
} else {
alert('out of range');
}可以将这段代码写成
if (i > 0) {
if (i < 10) {
alert('between 0 and 10');
} else {
if (i < 20) {
alert('between 10 and 20');
} else {
if (i < 30) {
alert('between 20 and 30');
} else {
alert('Greater than or equal 30');
}
}
}
} else {
alert('less than or equal 0');
}
这个样子。虽然看上去非常的复杂,但是它已经考虑了很多代码潜在的条件判断情况,所以执行得更快。
switch 和 if
用 switch 还是 if 已经是老生常谈的问题了。一般来说,超过两个 if...else 判断的时候,最好是使用 switch 语句。这样做可以使代码更加清晰并且效率更高。同时,case 条件也可以使用任何类型的值。
语句瘦身
其实非常可以容易理解,脚本中的语句越少,执行所需的时间越短(听起来与上述观点有矛盾)。有很多方法可以将代码中的语句缩短,比如下面的一些花招。
定义多个变量
很明显,一条语句可以定义多个变量。这样做不仅可以缩小代码体积,还可以减少语句数量以减少执行时间。比如下面的代码
var webSite = "www.gracecode.com";
var haveLunch = function () {...};
就可以精简为
var webSite = "www.gracecode.com", haveLunch = function () {...};
相信这样的语句也不会给阅读带来多大的障碍。
迭代因子
使用迭代因子,尽可能的合并语句。比如
var girlFriend = girl[i];
i++;
这样的语句可以使用
var girlFriend = girl[i++];
替代。不过建议特别小心 i++ 和 ++i 的区别(该死的 C 语言后遗症)。
使用数组和对象字面量
这点其实在上一篇的时候就提到过,在这里就不复述。比如
var mySite = new Object;
mySite.author = "feelinglucky";
mySite.location = "http://www.gracecode.com";就可以精简到
var mySite = {author:"feeinglucky", location:http://www.gracecode.com};
这样子。
其他的花招
优先使用内置方法
比如
function power(number, n) {
var result = number;
for (var i = 1; i < n; i++) {
result *= number;
}
return result;
}
这样的函数,完全就可以使用 Math.pow 来完成。Javascript 已经有很多现成的内置方法,只要允许最好使用它们。
存储常用的值
当多次用到同一个值的时候,可以先将其存储在局部变量中,以便快速访问。这个就不复述了,偷个懒不好意思。
标签:程序,javascript,优化
0
投稿
猜你喜欢
初学MySql5 所应了解的知识和常见问题
2009-03-06 17:49:00
asp中字符编码转换的10个函数[荐]
2007-11-11 10:32:00
禁止背景图在网页中平铺
2011-04-29 14:10:00
通过事务日志解决SQL Server常见四大故障(一)
2009-03-25 13:46:00
网页中插入视频播放代码全集
2007-10-22 17:48:00
SQL Server 自动化管理分区设计方案(图解)
2011-07-21 17:25:04
asp三天学好ADO对象之第三天
2008-10-09 12:53:00
《细节决定交互设计的成败》
2009-06-02 11:23:00
如何给eWebEditor编辑器加上运行代码框功能
2007-09-25 07:02:00
网页设计中HTML常范的五个错误
2008-04-22 18:14:00
iPhone应用设计趋势[译]
2009-11-27 19:52:00
Asp+Sql 对数据库的各种操作
2007-09-22 10:38:00
VB应用程序访问SQL Server的常用方法
2009-01-21 14:28:00
MYSQL数据库实用学习资料之常用命令集合
2009-03-06 18:12:00
SQL Server 复制需要有实际的服务器名称才能连接到服务器
2012-07-11 15:46:51
如何编写CSS代码才能更有效率
2007-11-07 18:51:00
EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
2011-04-08 10:40:00
ASP实现全站的301跳转
2010-03-27 21:45:00
HTML 5 胜出:XHTML2 宣告夭折
2009-07-12 15:23:00
Yahoo发布一款FireFox网站开发插件
2007-09-23 16:11:00