首页  >  问答  >  正文

javascript - 这段js代码是怎么理解?

我的疑惑是把这个函数包起来的括号是啥意思,闭包?
然后还在方法后面的这个(1)是将参数1带入这个匿名方法?
这个小括号的词法是执行的意思还是隔离方法?

PHP中文网PHP中文网2648 天前688

全部回复(3)我来回复

  • typecho

    typecho2017-06-26 10:59:20

    立即执行的意思,传入参数1

    (function(x){
    
    })(1)

    回复
    0
  • 巴扎黑

    巴扎黑2017-06-26 10:59:20

    这是一个立即执行函数,立即执行函数构造了一个函数作用域,可以起到隔离的作用,避免污染全局作用域,传入1是传入参数,立即执行函数与可以用于解决闭包问题。但是和闭包并没有直接联系。

    回复
    0
  • 给我你的怀抱

    给我你的怀抱2017-06-26 10:59:20

    匿名函数没有函数名,无法调用,括号把函数声明括起来,就不再是一个函数声明,而是一个函数表达式。后面加()也就是是立即执行该函数,1是参数,由里面的x来接收。
    你可以理解为

    var foo = function(x){
        delete x;
        return x;
    };
    foo(1);

    回复
    0
  • 取消回复