function f1(){
var n=999;
function f2(){
alert(n); // 999
}
}
是函數f2()
一個閉包?如果不?爲什麼?這是javascript中的函數嗎?
但在這篇文章中。 How do JavaScript closures work? 爲什麼它說:
function foo(x) {
var tmp = 3;
function bar(y) {
alert(x + y + (++tmp));
}
bar(10);
}
foo(2)
這不是一個closure.A閉包是當您返回的內部函數。內部函數將在離開前關閉foo的變量。爲什麼?
但我不知道我所做的例子和另外一個引用的例子有什麼區別,一個不是閉包,但有一個是。我認爲這兩個例子是一樣的。
是的......不多說了 – Endophage
是什麼引發了這個問題?你期待什麼答案?更多的上下文將導致更好的答案... – Cameron
我已經更新了我的queston。謝謝。 – runeveryday