JavaScript 性能

我們可以通過改變一些編程習(xí)慣,掌握一些編程技巧,就能夠加速 javascript 代碼的執(zhí)行速度,改善 javascript 的性能。

 

1. 減少循環(huán)中的活動(dòng)

編程經(jīng)常會(huì)用到循環(huán)。

循環(huán)每迭代一次,循環(huán)中的每條語句,包括 for 語句,都會(huì)被執(zhí)行。

能夠放在循環(huán)之外的語句或賦值會(huì)使循環(huán)運(yùn)行得更快。

差的代碼:

var i;
for (i = 0; i < arr.length; i++) {

更好的代碼:

var i;
var l = arr.length;
for (i = 0; i < l; i++) {

循環(huán)每次迭代時(shí),壞代碼就會(huì)訪問數(shù)組的 length 屬性。

好代碼在循環(huán)之外訪問 length 屬性,使循環(huán)更快。

 

2. 減少 dom 訪問

與其他 javascript 相比,訪問 html dom 非常緩慢。

假如您期望訪問某個(gè) dom 元素若干次,那么只訪問一次,并把它作為本地變量來使用:

范例

var obj;
obj = document.getelementbyid("demo");
obj.innerhtml = "hello"; 

 

3. 縮減 dom 規(guī)模

請盡量保持 html dom 中較少的元素?cái)?shù)量。

這么做總是會(huì)提高頁面加載,并加快渲染(頁面顯示),尤其是在較小的設(shè)備上。

每一次試圖搜索 dom(比如 getelementsbytagname)都將受益于一個(gè)較小的 dom。

 

4. 避免不必要的變量

請不要?jiǎng)?chuàng)建不打算存儲(chǔ)值的新變量。

通常您可以替換代碼:

var fullname = firstname + " " + lastname;
document.getelementbyid("demo").innerhtml = fullname; 

用這段代碼:

document.getelementbyid("demo").innerhtml = firstname + " " + lastname

 

5. 延遲 javascript 加載

請把腳本放在頁面底部,使瀏覽器首先加載頁面。

腳本在下載時(shí),瀏覽器不會(huì)啟動(dòng)任何其他的下載。此外所有解析和渲染活動(dòng)都可能會(huì)被阻塞。

http 規(guī)范定義瀏覽器不應(yīng)該并行下載超過兩種要素。

一個(gè)選項(xiàng)是在 script 標(biāo)簽中使用 defer="true"。defer 屬性規(guī)定了腳本應(yīng)該在頁面完成解析后執(zhí)行,但它只適用于外部腳本。

如果可能,您可以在頁面完成加載后,通過代碼向頁面添加腳本:

范例

window.onload = downscripts;
function downscripts() {
    var element = document.createelement("script");
    element.src = "myscript.js";
    document.body.appendchild(element);
}

 

6. 避免使用 with

請避免使用 with 關(guān)鍵詞。它對速度有負(fù)面影響。它也將混淆 javascript 作用域。

嚴(yán)格模式中不允許 with 關(guān)鍵詞。

下一節(jié):js json

js 教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频