我學習JavaScript和我碰到下面的代碼片段來了:瓶蓋的JavaScript和Java
var outerValue = true;
function outerFn(){
assert(outerFn && outerValue, "These come from the closure.");
}
據我瞭解在上述背景下倒閉,它們允許outerFn實際看到的outerValue變量。
那麼我的問題是:這與其他任何編程語言有什麼不同?例如java?預計outerValue的作用域將允許outerFn看到它。
後來添加上:
var outerValue = true;
function outerFn() {
console.log(outerValue);
}
function anotherFunction(arg){
console.log("anotherFunction");
arg.call(this);
}
anotherFunction(outerFn);
那麼這是一個封閉的一個更好的例子嗎?
非常感謝喬納斯。我已經爲我的問題添加了一個代碼示例。我看到outerValue仍然在範圍內!這在java中是不可能的! – balteo