내가 할이이 내부 함수가 정의되지 않은 이유는 무엇입니까?
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.
내가 문제를 얻을 세 가지 경우 모두에서
. 나는 세 부분 모두에 줄 주석으로 문제를 포함시켰다. 누군가가 클로저를 사용하라고 말하기 전에 클로저를 이해하려고하지 않고 내부 기능이 어떻게되는지 정확히 이해하려고합니다.위에서 설명 할 수 있다면 감사하게 생각합니다. 그것은 나에게 직관적 인 카운터이기 때문입니다.
감사
내부 기능은 내부 기능의 * 속성 *이 아닙니다. –