当前位置:编程学习 > JAVA >>

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 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,