惰性函數

惰性函數它比較懶,不會立即執行。只有需要的時候才去執行創建或加載一些資源對象。
舉個簡單的例子。最近登錄流行微信登錄。鼠標滑過登錄按鈕,出現微信登錄的二維碼,供訪客用手機掃描。

var getWXQrCode=(function( callbackFn ){
     var obj;
        return function(){
              if(!obj){
              loadScript('http://www.qq.com/xx.js',function(){
                obj=  WxLogin;
                callbackFn( obj)
              }else{
             callbackFn( obj)
                }
        }  
})();

然后在mouseover過登錄按鈕的時候調用
getWXQrCode( callback )
即可實現js只在需要的時候加載一次。再次調用只返回閉包中儲存的WxLogin對象。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容