立即执行函数

立即执行函数:此类函数没有声明,在一次执行过后立即释放,适合做针对函数的初始化工作。可以有返回值,有预编译,有执行期上下文。
立即执行函数有以下两种表达形式
(function (形参) {函数体} (实参) );w3c建议使用这种形式
(function (形参) {函数体} )(实参 );
立即执行函数的组成方式为“函数名+();” “();”在类似的表达式中作为执行符号,用来执行表达式。所以立即执行还可以写成这样+(-/!/&&/||)function ( ){ }( );还有这样var x = function ( ){ }( );

暂时先回到闭包的问题

现在我们了解了立即执行函数之后就可以解决上节课的遗留问题了

    function test (){
            var arr = [];
            for(var i = 0; i<10; i++)
            {
                ( function(j){
                      arr[j] = function(){
                            document.write(j+" ");
                                          }
                              }(i));//将i传入立即执行函数,执行完立即销毁
             }return arr;//实时将数组传出
                     }
        //test  define ==>  testAO: i=0
        var myArr = test();
        //test  doing  ==>   arrAO: i=1; j=i;
        for (var j = 0; j < 12; j++){
            myArr[j]();//0 1 2 3 4 5 6 7 8 9
        }

这样借用立即执行函数,我们就轻松的解决了闭包所遗留下来的问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值