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