JavaScript效能最佳化總結

來源:互聯網
上載者:User

在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之旅還在繼續……

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.