3 个回答

日经问题:

function关键字开头的语句会被解析为函数声明,而函数声明是不允许直接运行的。
只有当解析器把这句话解析为函数表达式,才能够直接运行,怎么办呢?以运算符开头就可以了——

(function foo(){
    // code..
})()

因为这是function declaration,你可以加上括号使他变成function expression

(function foo() {
    // you code here
})();

(function foo(){ })()
!function foo(){ }()
+function foo(){ }()
都可以

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题