您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在JavaScript中惰性載入函數(shù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
惰性載入函數(shù)
惰性載入函數(shù)表示函數(shù)執(zhí)行的分支僅會發(fā)生一次,有兩種實(shí)現(xiàn)惰性載入函數(shù)的方式,第一種是在函數(shù)被調(diào)用時再處理,在第一次調(diào)用中,該函數(shù)會覆蓋為另外一個按合適方式執(zhí)行的函數(shù),這樣任何對函數(shù)的調(diào)用都不用再經(jīng)過執(zhí)行的分支了。第二種實(shí)現(xiàn)惰性載入的方式是在聲明函數(shù)時就制定適當(dāng)?shù)暮瘮?shù),這樣,第一次調(diào)用函數(shù)時就不會損失性能了,而在代碼首次加載時會損失一點(diǎn)兒性能。
載入方式一
var flag = 1; function test1() { if(typeof flag === 'undefined') { test1 = function() { return 0; } } else if(flag === 1) { test1 = function() { return 1; } } else { test1 = function () { return -1; } } return test1(); }
這里if語句的每個分支都會為test1變量賦值,有效覆蓋了原有的函數(shù),最后一步便是調(diào)用新賦的函數(shù),下一次調(diào)用test1()的時候就會直接調(diào)用被分配的函數(shù),就不會再走if語句了,這樣就可以提高性能。
載入方式二
var flag = 1; var test2 = (function() { if(typeof flag === 'undefined') { return function() { return 0; } } else if(flag === 1) { return function () { return 1; } } else { return function () { return -1; } } })();
JavaScript是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,JavaScript是被廣泛用于客戶端的腳本語言,最早是在HTML網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動態(tài)功能。
關(guān)于怎么在JavaScript中惰性載入函數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。