有關匿名函數執行與傳參

$(document).ready(function(){

  var box = function(){
    return 'abcd1';
  }; //將匿名函數賦值給變量,不執行函數,此時box是函數指針

  alert(box());//經過函數指針調用函數


  (function(){alert('abcd2');})(); //匿名函數的執行,將function(){alert('abcd2');}看着函數體,
  //後面的()是給匿名函數傳遞的參數

  var box = (function(){ //將匿名函數的執行結果賦值給box
    return 'abcd3';
  })();
  alert(box);//abcd3

  (function(age){ //自執行匿名函數的傳參,由於後面的()是給匿名函數傳參,因此將100傳遞給age
    alert('age:'+age);
  })(100); //100



  function box1(){
    return function(){
      return 'abcd4';
    }
  }
  alert(box1); //box1 爲函數名,函數名保存的值爲整個函數體的內容

  function box2(){
    return function(){
      return 'abcd5';
    }
  }
  alert(box2());// 執行函數box2,將返回的結果打印,返回的結果是一個匿名函數,並且該匿名函數不會執行,因此結果是匿名函數體

  function box3(){
    return function(){
      return 'abcd6';
    }
  }
  alert(box3()());//box3()執行函數box3,返回的結果是一個匿名函數,box3()()執行匿名函數,將返回的結果打印,返回的結果是字符串

});函數

相關文章
相關標籤/搜索