Javascript匿名函数调用

这个问题在这里已经有了答案:

  • 该功能之前感叹号做了什么? 9个答案

  • 当在语句位置(作为语句中的第一个标记)满足关键字function ,函数声明被表示为函数语句。 函数语句被提升到范围的顶部,不能立即调用并且必须有一个名称。

    当关键字在表达式中被满足时(即不是在语句中的第一个标记,在你的示例中!是第一个标记),函数声明被表达为一个函数表达式,它可以是匿名的并返回新创建的功能。 由于它返回新创建函数的值,因此可以通过在其后面添加括号来立即调用它。

    将括号内的声明包装起来也是一样的,但比用前缀加前缀更为常见!+

    (function () {
        ...
    }());
    

    第二种形式function () {}是一个语句。 ! 运算符将其转换为表达式。 您还会发现人们在function关键字前使用-+的情况。

    当你有一个函数表达式求值时,你可以使用()运算符来调用该函数。

    另一个(也许更容易理解)的方式来实现相同的效果是另一个括号:

    ( function(x) { body; } )(arg);
    

    通过将函数放在括号内,再次将其转换为表达式,该表达式将计算为函数。 这个函数以arg作为参数被调用。


    就感叹号而言,这不是魔术。 它将结果转换为真/假。

    你的问题可能是你的匿名函数里面有一个错误。

    链接地址: http://www.djcxy.com/p/17417.html

    上一篇: Javascript anonymous function call

    下一篇: Do you ever use the volatile keyword in Java?