有关匿名函数执行与传参


$(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()()执行匿名函数,将返回的结果打印,返回的结果是字符串

});


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM