概念:
封闭了外部函数作用域中变量的内部函数,并且返回该内部函数,该变量称为自由变量,也可以叫做闭包变量. 即便返回该外部函数,由于内部函数的间接引用该变量,当GC检查没有相关对象引用它时,就会释放该资源.
//(1)
function (n) {
alert(n);
} (3); //没有效果
//(2)
(function (n) {
alert(n);
})(3); //会弹出3
//(3)
var b = function (n) {
alert(n);
} (3); //也会弹出3
//(4)
var b1 = function (n) {
alert(n);
}
b1(3); //也会弹出3
/*从上面代码中我可以得出
1.(1)和(2)的区别在于(1)没有执行,(2)执行啦
2.()表示让匿名函数立刻执行
*/