国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

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

圖片精選

主站蜘蛛池模板: 孟津县| 札达县| 大英县| 兴义市| 五指山市| 仲巴县| 屏山县| 津市市| 江口县| 长白| 日喀则市| 洱源县| 遂宁市| 岑溪市| 门源| 衡南县| 大庆市| 历史| 佛冈县| 内黄县| 剑阁县| 贵阳市| 泽州县| 青田县| 定陶县| 革吉县| 陆川县| 浦城县| 章丘市| 卫辉市| 哈巴河县| 古蔺县| 延安市| 潞城市| 新河县| 双流县| 平凉市| 彩票| 左云县| 阜城县| 乌拉特后旗|