아래 예제에서 약 Scope, 나는 변수가 함수로 어떻게 돌아갈 수 있는지 이해하지 못합니까? 여기서 var f
은 f()
으로 실행 중입니다. 그러나 이것은 JavaScript에서 f
을 실행하는 건전한 방법입니까? 왜? var f
함수를 저장했기 때문에입니까?var에 저장된 javascript 함수로 인해 var가 함수가됩니까?
var myFunction = function() {
var foo = "hello";
var myFn = function() {
console.log(foo);
};
foo = "ddd";
return myFn;
};
var f = myFunction();
f(); // "ddd"
감사합니다!
"참조 점"이란 무엇입니까? myFunction() 함수 인 첫 번째 변수 때문입니까? – Ezeewei
@Chen - 자바 스크립트에서 참조는 포인터입니다. 따라서 함수를 반환하면 해당 함수에 대한 포인터가 반환됩니다. 본질적으로 이것은 포인터가 할당되면 무엇이든지간에 'myFunction'처럼 작동한다는 것을 의미합니다. –