JavaScript 性能优化小结
作者:bea
随着 Web2.0 技术的不断推广,越来越多的应用使用 JavaScript 技术在客户端进行处理,从而使 JavaScript 在浏览器中的性能成为开发者所面临的最重要的可用性问题。而这个问题又因 JavaScript 的阻塞特性变的复杂,也就是说当浏览器在执行 JavaScript 代码时,不能同时做其他任何事情。本文详细介绍了如何正确的加载和执行 JavaScript 代码,从而提高其在浏览器中的性能。
在J2EE编程中,我们接触最多的脚本语言还是JavaScript。在使用JavaScript中我们通常会考虑其性能问题,因此将日常总结的关于JavaScript性能优化的方式总结出来,以备查询。
在使用JavaScript中经常会遇到字符串的拼接问题。请问大家在使用Java编程的时候遇到上述的问题,该怎么处理?
NX学生:老师,使用StringBulider 或StringBuffer
老师:回答正确,使用StringBuilder或StringBuffer能够避免过多创建对象,降低系统性能。
好了,回到正题,我们还是来解答在使用JavaScript中,遇到上述问题的处理方式。
首先,先来看看NX学生的处理方式:
<html>
<script type="text/javascript">
var string="begin"
var date = new Date()
var begin = date.getTime()
for(var i=0;i<9999999;i++){
string+="abc"
}
alert(new Date().getTime() - begin)
</script>
</html>
老师一看NX学生实现的方式,差点笑喷。这种垃圾的实现方式,真是毁了你一世英名啊。
老师面带微笑的说道:你这种实现方式就相当于小学生的水平,就是一堆垃圾字母的随机组合。说完只听见SB老师在键盘上键步如飞的敲其代码来。NX学生还没有反应过来,老师已经将代码完成:
<html>
<script type="text/javascript">
var string="begin";
var string01=["begin"];
var date = new Date();
var begin = date.getTime();
for(var i=0;i<55555555;i++){
//string+="abc";
string01.push("abc");
}
var result = string01.join("");
alert(new Date().getTime() - begin);
</script>
</html>
通过对以上代码的运行比较,老师的代码性能明显优于NX学生的代码,NX学生代码还会经常导致IE宕掉。
NX学生看到代码运行的结果,顿时对老师产生仰慕之情,决定虚心想老师学习,不断提升自己……
这个故事虽然告一段落,但是老师和NX学生的JavaScript之旅还在继续……
猜你喜欢
您可能感兴趣的文章:
- 浅析四种常见的Javascript声明循环变量的书写方式
- 浅谈angular.js中实现双向绑定的方法$watch $digest $apply
- JS更改select内option属性的方法
- JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
- JS实现的最简Table选项卡效果
- JS仿淘宝实现的简单滑动门效果代码
- JavaScript实现的伸展收缩型菜单代码
- smartcrop.js智能图片裁剪库
- 深入学习JavaScript对象
- 快速学习JavaScript的6个思维技巧
- 有关json_decode乱码及NULL的问题
- JS实现左右拖动改变内容显示区域大小的方法
- JS实现自动定时切换的简洁网页选项卡效果
- JS+CSS实现仿雅虎另类滑动门切换效果
- JS实现的简洁二级导航菜单雏形效果
- JS实现带圆弧背景渐变效果的导航菜单代码
- js验证真实姓名与身份证号是否匹配
- 浅谈Nodejs观察者模式
- 编写高性能Javascript代码的N条建议