课程
/前端开发
/JavaScript
/JavaScript深入浅出
!function(){}(1)是什么意思,arguments指的是什么
2016-04-18
源自:JavaScript深入浅出 3-4
正在回答
! function (){}(1) 表示该函数是一个函数表达式而不是函数声明,后面的(1)是将参数1传递进去,前面的!,你可以理解成它是将函数声明转化成函数表达式的一种方法。
!function (){}(1)也等同于(function (){})(1);,!也可换成+、-这样的一元运算符,都可以起到相同的作用。
函数也是一种对象,arguments是它的一个属性,函数的属性还包括name,length等等。
momoyy123 提问者
原来是这样,我还一直纳闷呢现在明白了感谢解答
加括号也可以(function(a){})(1)也可以
我学习了,就是将函数声明转换为函数表达式,默认调用了.
还有arguments是参数对象的意思,不用写形参在函数上,也可以获取到函数上放进来的实参,利用arguments.length来获取参数个数,arguments[0],来获取第一个实参.
举报
由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握
5 回答(function(){ ... })(); (function(){ ... }()); !function(){ ... }(); 三种写法有什么区别?
3 回答+!{}[true] // 1 是什么意思?为什么输出1?
3 回答下面function 前面加个 ! 是什么意思?
4 回答function 前面的感叹号什么意思?
2 回答function前面加个!代表什么意思?