我知道下面這個是閉包function makeFunc() { var name = "Mozilla"; function displayName() {
alert(name);
} return displayName;
}
var myFunc = makeFunc();
myFunc();有人說,在執行過程完畢后,返回函數,或者將函數得以保留下來,即形成閉包。那么,是不是下面的第一種就可以算作閉包了,紅皮書說,函數內部創建另一個函數叫閉包,那么如何解釋下面兩個情況?
var a = 1
var b = function(){ console.log(a)
}
var c = 1
function d(){ console.log(c)
}《javascript權威指南》 (第六版)第8章第6節:從技術的角度講,所有的JavaScript函數都是閉包:它們都是對象,它們都關聯到作用域鏈?!秊avascript高級程序設計》(第三版)第7章第2節:閉包是指有權訪問另一個函數作用域中的變量函數;
如何判斷是不是閉包?
慕桂英4014372
2018-09-14 14:13:09
