国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript惰性載入函數實例分析

2024-05-06 15:41:22
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript惰性載入函數。分享給大家供大家參考,具體如下:

惰性載入函數

惰性載入函數表示函數執行的分支僅會發生一次,有兩種實現惰性載入函數的方式,第一種是在函數被調用時再處理,在第一次調用中,該函數會覆蓋為另外一個按合適方式執行的函數,這樣任何對函數的調用都不用再經過執行的分支了。第二種實現惰性載入的方式是在聲明函數時就制定適當的函數,這樣,第一次調用函數時就不會損失性能了,而在代碼首次加載時會損失一點兒性能。

載入方式一

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變量賦值,有效覆蓋了原有的函數,最后一步便是調用新賦的函數,下一次調用test1()的時候就會直接調用被分配的函數,就不會再走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;  } }})();

不同點是使用了立即執行函數,通過var來定義函數,在每個if分支中return一個函數

總結

這兩種方式都能避免執行不必要的代碼。方式一中第一次調用會損失性能,方式二重首次加載時會損失性能

更多關于JavaScript相關內容可查看本站專題:《JavaScript常用函數技巧匯總》、《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 昭觉县| 秦安县| 纳雍县| 清水河县| 阿克陶县| 青海省| 徐汇区| 古蔺县| 南京市| 大宁县| 黑山县| 宁晋县| 柞水县| 夹江县| 四会市| 崇明县| 西贡区| 昌都县| 佳木斯市| 苗栗市| 漳浦县| 博乐市| 高要市| 扎鲁特旗| 蒙山县| 白玉县| 右玉县| 都昌县| 阳东县| 横峰县| 宜春市| 宣武区| 广灵县| 汽车| 凤山市| 徐汇区| 凌源市| 福鼎市| 兴业县| 兴业县| 白河县|