最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript“盡快失敗”的原則實(shí)例詳解

 更新時(shí)間:2016年10月08日 10:10:45   作者:畫個女孩陪著我  
我第一次聽說編碼原則中有“盡快失敗”這一條時(shí),覺得很奇怪,為什么代碼要失???應(yīng)該成功才對呀。下面小編通過實(shí)例代碼給大家介紹js 盡快失敗的原則,一起看看吧

我第一次聽說編碼原則中有“盡快失敗”這一條時(shí),覺得很奇怪,為什么代碼要失敗?應(yīng)該成功才對呀。但事實(shí)上,當(dāng)代碼在遇到錯誤的時(shí)候應(yīng)該盡快的終止。為了檢測各種狀態(tài),我們需要頻繁的創(chuàng)建if語句與條件分支,而這些條件檢測的結(jié)果不是成功就是失?。╰rue&&false)。之所以會有這么多的條件檢測語句,是因?yàn)槿绻辉跇?gòu)建過程中植入這些監(jiān)測點(diǎn)(checkpoint),那么瀏覽器內(nèi)核會執(zhí)行很多無用的代碼,并占用許多寶貴的CPU性能和處理時(shí)間,拖慢網(wǎng)站加載速度。

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

這是我的示例代碼:

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

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

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

相關(guān)文章

  • javascript實(shí)現(xiàn)五星評價(jià)代碼(源碼下載)

    javascript實(shí)現(xiàn)五星評價(jià)代碼(源碼下載)

    大家在淘寶購物之后,都會對賣家的服務(wù)進(jìn)行評論,那么五星評價(jià)代碼是怎么實(shí)現(xiàn)的呢?下面小編給大家介紹基于Javascript實(shí)現(xiàn)五星評價(jià)代碼,有需要的朋友可以參考下
    2015-08-08
  • 詳解TypeScript中type與interface的區(qū)別

    詳解TypeScript中type與interface的區(qū)別

    在寫 ts 相關(guān)代碼的過程中,總能看到 interface 和 type 的身影。它們的作用好像都一樣的,相同的功能用哪一個都可以實(shí)現(xiàn),也都很好用,所以也很少去真正的理解它們之間到底有啥區(qū)別,因此本文將詳細(xì)講解二者的區(qū)別,需要的可以參考一下
    2022-04-04
  • JavaScript圖像放大鏡效果實(shí)現(xiàn)方法詳解

    JavaScript圖像放大鏡效果實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了JavaScript圖像放大鏡效果實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • js不能獲取隱藏的div的寬度只能先顯示后獲取

    js不能獲取隱藏的div的寬度只能先顯示后獲取

    js不能獲取隱藏div的的寬度,現(xiàn)在的辦法是先將其顯示出來,再獲取其寬度,計(jì)算位置,下面的示例,大家可以參考下
    2014-09-09
  • webpack-dev-server原理解析及跨域解決方法

    webpack-dev-server原理解析及跨域解決方法

    這篇文章主要介紹了webpack-dev-server原理解析及跨域解決方法,需要的朋友可以參考下
    2024-01-01
  • 前端TypeScript時(shí)間格式化函數(shù)舉例詳解

    前端TypeScript時(shí)間格式化函數(shù)舉例詳解

    這篇文章主要介紹了前端TypeScript時(shí)間格式化函數(shù)的相關(guān)資料,包括日期格式化formatDate、獲取周數(shù)getWeek、相對時(shí)間格式化formatPast、時(shí)間問候語formatAxis以及日期時(shí)間格式化parseTime和parseDate,每個方法都有詳細(xì)的參數(shù)說明和示例,需要的朋友可以參考下
    2025-02-02
  • MvcPager分頁控件 適用于Bootstrap

    MvcPager分頁控件 適用于Bootstrap

    這篇文章主要為大家詳細(xì)介紹了MvcPager分頁控件,修改后適用于Bootstrap,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 基于javascript實(shí)現(xiàn)放大鏡特效

    基于javascript實(shí)現(xiàn)放大鏡特效

    這篇文章主要為大家詳細(xì)介紹了基于javascript實(shí)現(xiàn)放大鏡特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 利用JavaScript模擬京東按鍵輸入功能

    利用JavaScript模擬京東按鍵輸入功能

    這篇文章主要給大家介紹了關(guān)于如何利用JavaScript模擬京東按鍵輸入功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • JS中數(shù)組重排序方法

    JS中數(shù)組重排序方法

    在數(shù)組中有兩個可以用來直接排序的方法,分別是reverse()和sort()。下面通過本文給大家詳細(xì)介紹,對js 數(shù)組重排序相關(guān)知識感興趣的朋友一起看看吧
    2016-11-11

最新評論

阿瓦提县| 齐齐哈尔市| 邯郸市| 广德县| 即墨市| 海口市| 迁西县| 秦皇岛市| 陇川县| 贵南县| 大连市| 云霄县| 高阳县| 景德镇市| 麻栗坡县| 孟连| 宾阳县| 江阴市| 全州县| 长武县| 东丽区| 泽州县| 衡东县| 怀远县| 即墨市| 稻城县| 柘荣县| 毕节市| 县级市| 淮阳县| 阿瓦提县| 阿坝| 中西区| 清水县| 明溪县| 延长县| 安泽县| 松桃| 阿拉善盟| 四会市| 闻喜县|