JavaScript性能优化总结
在J2EE编程中,我们接触最多的脚本语言还是JavaScript。在使用JavaScript中我们通常会考虑其性能问题,因此将日常总结的关于JavaScript性能优化的方式总结出来,以备查询。
在使用JavaScript中经常会遇到字符串的拼接问题。请问大家在使用Java编程的时候遇到上述的问题,该怎么处理?
NX学生:老师,使用StringBulider 或StringBuffer
SB老师:回答正确,使用StringBuilder或StringBuffer能够避免过多创建对象,降低系统性能。
好了,回到正题,我们还是来解答在使用JavaScript中,遇到上述问题的处理方式。
首先,先来看看NX学生的处理方式:
[html]
<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>
<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>SB老师一看NX学生实现的方式,差点笑喷。这种垃圾的实现方式,真是毁了你一世英名啊。
SB老师面带微笑的说道:你这种实现方式就相当于小学生的水平,就是一堆垃圾字母的随机组合。说完只听见SB老师在键盘上键步如飞的敲其代码来。NX学生还没有反应过来,SB老师已经将代码完成:
[html]
<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>
<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>通过对以上代码的运行比较,SB老师的代码性能明显优于NX学生的代码,NX学生代码还会经常导致IE宕掉。
NX学生看到代码运行的结果,顿时对SB老师产生仰慕之情,决定虚心想SB老师学习,不断提升自己……
这个故事虽然告一段落,但是SB老师和NX学生的JavaScript之旅还在继续……
补充:web前端 , JavaScript ,