请解释下面代码为什么不能用作 IIFE?需要作出哪些修改才能使其成为 IIFE?
// 代码一function (){}()// 代码二function foo(){}()
修改
// 代码一(function (){})()// 代码二(function foo(){})()
几种常见写法
(function (){})()(function (){} ())
括号的作用(让解释器识别为表达式而不是函数声明)
同理, 其他写法
var fn = (function foo() {})();true && (function () {})();0, (function () {})();// 运算法!(function foo() {})();~(function foo() {})();-(function foo() {})();+(function foo() {})();// voidvoid (function () {})();// new 关键词new (function () {})();
**
