问答详情
源自:3-4 [JavaScript]严格模式

!function(){}(1)这种写法是什么意思

!function(){}(1)是什么意思,arguments指的是什么

提问者:momoyy123 2016-04-18 10:14

个回答

  • 等待Mr薰衣草
    2016-04-18 20:23:27
    已采纳

    ! function (){}(1) 表示该函数是一个函数表达式而不是函数声明,后面的(1)是将参数1传递进去,前面的!,你可以理解成它是将函数声明转化成函数表达式的一种方法。

    !function (){}(1)也等同于(function (){})(1);,!也可换成+、-这样的一元运算符,都可以起到相同的作用。

    函数也是一种对象,arguments是它的一个属性,函数的属性还包括name,length等等。

  • 你咋骚的一匹
    2019-07-29 10:40:19

    原来是这样,我还一直纳闷呢现在明白了感谢解答

  • carolinenn
    2017-04-11 10:19:37

    加括号也可以(function(a){})(1)也可以

  • AsyncNooby
    2016-08-02 11:43:06

    我学习了,就是将函数声明转换为函数表达式,默认调用了.

     还有arguments是参数对象的意思,不用写形参在函数上,也可以获取到函数上放进来的实参,利用arguments.length来获取参数个数,arguments[0],来获取第一个实参.