DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript“盡快失敗”的原則實例詳解
JavaScript“盡快失敗”的原則實例詳解
編輯:關於JavaScript     

我第一次聽說編碼原則中有“盡快失敗”這一條時,覺得很奇怪,為什麼代碼要失敗?應該成功才對呀。但事實上,當代碼在遇到錯誤的時候應該盡快的終止。為了檢測各種狀態,我們需要頻繁的創建if語句與條件分支,而這些條件檢測的結果不是成功就是失敗(true&&false)。之所以會有這麼多的條件檢測語句,是因為如果不在構建過程中植入這些監測點(checkpoint),那麼浏覽器內核會執行很多無用的代碼,並占用許多寶貴的CPU性能和處理時間,拖慢網站加載速度。

根據那些判斷結果為false的檢測語句塊放置位置的不同,有些情況下,一旦發生錯誤就迅速中止,而另外一些情況下則會在執行了很長一段時間的無用代碼後才終止。如果我們在遍歷數組之前先檢測其長度,或是在處理DOM時先看看有沒有我們需要的class屬性,那麼就可以在不滿足條件時立刻中止代碼的執行。因為遍歷數組信息與解析DOM都是相當耗時的工作,所以最好是在執行這些任務之前先檢測一下,在滿足於執行條件時及早終止。正是基於上述原因,所以我才要提倡那種“盡快失敗”的代碼。

這是我的示例代碼:

//創建在遇到錯誤時盡快終止的代碼
(function Salad(totalSlices,peopleCount){ //我要創建一個沙拉函數,用來返回派對需要的總沙拉數量
"use strict";
var fairness = totalSlices * peopleCount;
return fairness;
})();
(function () {
"use strict";
var body = document.getElementsByTagName("body")[0],
//我在此閉包函數中建立了一些變量,並將其傳入salad函數以供計算
partyStarter = "starlen",
peopleCount = 18,
Salad = 6,
sliceCount = Salad * 3;
if(peopleCount > 0 && Salad >0){
//先檢測一下我們的派對有沒有人或沙拉,避免js消耗不必要的計算性能
body.innerHTML += " '<p>'"+ partyStarter +","+ Salad(peopleCount,Salad) +" '</p>' "
} else {
body.innerHTML += "<p>參加聚會的人數或沙拉果盤不足!</p>"
}
})();

在輸出某些變量信息之前,我們首先檢查確保這些變量信息是否保存於內存之中或者某些數組內的變量是否大於0,從而回避那些不需要執行那些計算代碼了。這是在日常的開發工作中基礎且重要的易引發性能的問題,所以要重視。

以上所述是小編給大家介紹的JavaScript“盡快失敗”的原則實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved