成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

閉包

張巨偉 / 1705人閱讀

常見使用
 var Zepto_me = (function(){
          var $ = function(){alert(1212)};
          $.isWindow = function(obj){return obj!=null && obj == window};
          return $;
      })();
      window.Zepto_me = Zepto_me;
      window.$ === undefined && (window.$ = Zepto_me);
      $().isWindow(window);

局部變量的累加
function foo(x){
        var a = x;
        return function(){
            alert(a++);
        };
     };
     var f = foo(1);
     f();// 1
     f();// 2
分流的那個函數(shù)可以使用原來函數(shù)的變量
(function(i){
         var a = i;
         (function(){
            alert(a);
         }());
     }(1));
var name = "the window";
     var object = {

         name : "the object",
         getName : function(){
            name = this.name;
            return function(){//執(zhí)行這個分流函數(shù)的是window對象,所以當前this表示的是window
                return this.name;//the window
                return name;//the object
            }


         }

     } 
     alert(object.getName()());
尋找變量的路徑
var a =33;
     function foo(x){
        // var a = x;
        return function(){
            alert(a++);//會先從當前函數(shù)域中尋找,在從foo函數(shù)域中尋找,在從window中尋找
        };
     };
     var f = foo(1);
     window.f();
     window.f();
常見
 var Zepto_me = (function(){
          function isWindow(obj){ return obj != null && obj == obj.window }
          var $ = function(){};
          $.isWindow = isWindow;//閉包
          return $;//閉包
      })();
      alert(Zepto_me.isWindow(window));//true
總結(jié)
閉包就是某個函數(shù)在多帶帶執(zhí)行期間,可以使用一個變量,這個變量是在別的函數(shù)體里面定義的。也就是說變量的使用范圍擴大了。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/85591.html

相關(guān)文章

  • JS 中的閉包是什么?

    摘要:大名鼎鼎的閉包面試必問。閉包的作用是什么??吹介]包在哪了嗎閉包到底是什么五年前,我也被這個問題困擾,于是去搜了并總結(jié)下來。關(guān)于閉包的謠言閉包會造成內(nèi)存泄露錯。閉包里面的變量明明就是我們需要的變量,憑什么說是內(nèi)存泄露這個謠言是如何來的因為。 本文為饑人谷講師方方原創(chuàng)文章,首發(fā)于 前端學(xué)習(xí)指南。 大名鼎鼎的閉包!面試必問。請用自己的話簡述 什么是「閉包」。 「閉包」的作用是什么。 首先...

    Enlightenment 評論0 收藏0
  • 閉包,又見閉包。。。。?

    摘要:完美的閉包,對,閉包就這么簡單。這僅僅是閉包的一部分,閉包利用函數(shù)作用域達到了訪問外層變量的目的。此時一個完整的閉包實現(xiàn)了,的垃圾回收機制由于閉包的存在無法銷毀變量。 1.閉包是指有權(quán)訪問另一個函數(shù)作用域中的變量的函數(shù)。 上面這段話來自 javascript 高級程序設(shè)計 第三版 P178 。作者說閉包是一個函數(shù),它有訪問另一個函數(shù)作用域中的變量的能力。 2.函數(shù)訪問它被創(chuàng)建時所處的...

    keelii 評論0 收藏0
  • 多層級理解閉包

    摘要:第二梯隊理解有了第一梯隊的認識,我們慢慢修正大腦中對閉包的認識。理解這句話就可以很好的與閉包這兩個字關(guān)聯(lián)起來理解閉包這個概念了??偨Y(jié)第二梯隊理解閉包是一個有特定功能的函數(shù)。第四梯隊理解閉包通過訪問外部變量,一個閉包可以維持這些變量。 閉包 閉包的概念困惑了我很久,記得當時我面試的時候最后一面有一個問題就是問題關(guān)于閉包的問題,然而到現(xiàn)在已經(jīng)完全不記得當時的題目是啥了,但仍然能夠回憶起當時...

    nemo 評論0 收藏0
  • 面試官問我:什么是JavaScript閉包,我該如何回答

    摘要:到底什么是閉包這個問題在面試是時候經(jīng)常都會被問,很多小白一聽就懵逼了,不知道如何回答好。上面這么說閉包是一種特殊的對象。閉包的注意事項通常,函數(shù)的作用域及其所有變量都會在函數(shù)執(zhí)行結(jié)束后被銷毀。從而使用閉包模塊化代碼,減少全局變量的污染。 閉包,有人說它是一種設(shè)計理念,有人說所有的函數(shù)都是閉包。到底什么是閉包?這個問題在面試是時候經(jīng)常都會被問,很多小白一聽就懵逼了,不知道如何回答好。這個...

    BenCHou 評論0 收藏0

發(fā)表評論

0條評論

張巨偉

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<