javascript中一個標識符所在的位置越深,它的讀寫速度就越慢。因此,函數中讀寫局部變數總是最快的,而讀寫全域變數通常是最慢的。一個好的經驗法則是:如果某個跨作用域的值在函數中被引用一次以上,那麼就把它儲存到局部變數裡。
例如:
程式碼如下:
bd.className = "active";
}
函數引用了三次document,而document是全域物件。搜尋該變數的過程必須遍歷整個作用域鏈接,直到最後在全域變數物件中找到。你可以透過以下方法減少對效能的影響:先將全域變數的參考儲存在一個局部變數中,然後使用這個局部變數來取代全域變數。
例如:
複製程式碼
程式碼如下:
程式碼如下:
doc.getElementById("go-btn").onclick = function(){ start(); } bd.className = "active"; }