JS閉包測試

function aa(){
        var b=10;
        return function cc(){
              b++;
              alert(b);
       }
}
a()();
/**
*aa()()兩個括號,第一個是執行 aa方法,第二個是執行 cc
*/
  
 如果執行aa(),則只返回子函數的內容



閉包運行
function aa(){
        var b=10;
       ( function cc(){
              b++;
              alert(b);
       })();
}

alert(aa());

結果:11,undefined
由於

後面再加一個括號,cc就運行了.



window.onload=function(){
        var li=document.getElementsByTagName("li" );
        for(var i=0;i<li.length;i++){
              li[i].onclick=( function(n){
                      return function (){
                           alert(n);
                      }
              })(i);
       }
}

/**
*在點擊Li元素的時候會彈出結果
**/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章