首先了解立即函数

  1. 声明一个匿名函数

  2. 马上调用这个匿名函数

作用:创立独立作用域,避免变量污染
参考

练习的时候发现错误

!function a(){console.log(1);}()
a();
//a is not defined(…)

查找资料

如果 function 语法是在一个表达式中(比如上述写法的 ! 写法都是表达式),关键字 function 后面的 "变量" 只是函数的名字,而不会产生变量,比如

var a = function b() {}
// typeof a === "function"
// typeof b === "undefined"
// a.name === "b"  注意:IE下可能 a.name === undefined

huahua
463 声望11 粉丝

fighting