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

首頁 > 編程 > JavaScript > 正文

JavaScript惰性載入函數實例分析

2019-11-19 11:56:21
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉安县| 松江区| 华容县| 渭南市| 荥阳市| 泗洪县| 博湖县| 获嘉县| 平遥县| 漳州市| 锡林郭勒盟| 富源县| 玛沁县| 黔东| 庄浪县| 仁布县| 元氏县| 米泉市| 句容市| 东乡| 星子县| 孟津县| 佛冈县| 海淀区| 祁门县| 潮安县| 湘潭县| 慈利县| 海宁市| 鄂伦春自治旗| 巴彦淖尔市| 托克托县| 东至县| 扶风县| 双鸭山市| 仁化县| 齐河县| 漯河市| 赣榆县| 红原县| 大同县|