function myFunction() {
var myVar = "I think I am encapsulated";
function getMyVar() {
return myVar;
}
}
var myProperty = myFunction;
myProperty.getMyVar(); // tells me myProperty.getMyVar is not a function.
和
function myFunction() {
var myVar = "I think I am encapsulated";
function getMyVar() {
return myVar;
}
}
var myProperty = myFunction();
myProperty.getMyVar(); // tells me myProperty is undefined
甚至
function MyFunction() {
var myVar = "I think I am encapsulated";
function getMyVar() {
return myVar;
}
}
var myProperty = new MyFunction();
myProperty.getMyVar(); // tells me myProperty.getMyVar is not a function.
,並在所有三種情況下,我得到的問題。我在所有三節中都將這個問題列入了行評註中。現在,在有人告訴我只使用閉包之前,我並不想理解閉包,我正在試圖理解內層函數會發生什麼。
如果您可以在上面解釋,我將不勝感激。因爲它對我來說不直觀。
謝謝
內部函數不是封閉函數的*屬性*。 – 2012-03-22 20:04:57