立即执行函数除了执行完立即释放,跟普通函数没有区别。
返回值,执行期上下文,预编译等函数有的,立即执行函数都是有的。
写法:
1. ( function ( ) { } ( )); //W3C 建议第一种
2.( function ( ) { }) ( );
只有表达式才能被执行符号执行。这里说的执行符号就是小括号()
function test(){}(); //报错!语法错误。函数声明不能被执行符号执行
var abc = function test(){}(); //函数表达式可以被执行符号执行,但是执行后 test会变得没有意义,变成undefined。执行前代表函数,执行后自动放弃函数的名称。
+ function test(){}(); //不报错,有了一元运算符变成了表达式, - / + / && 都可以
function test (a, b, c, d) { console.log ( a + b+ c +d ) ; } ( 1, 2, 3, 4 ) ; // 不报错,但是函数也不会执行
网友评论