bar
의 두 번째 console.log에는 어떤 현상이 발생합니까? "Andy"가 아니거나 참조 오류가 발생하면 안됩니까? 또한 foo
이 정의되지 않은 이유는 무엇입니까?자바 스크립트 변수 유효 범위가 예상치 못한 결과입니다.
크롬 사용. 위의
// lexical scope example
var bar = "Andy";
try {
console.log(bar); // Andy
(function() {
console.log(bar); // undefined!
var bar = "B",
foo = "Last Name";
console.log(bar); // B
console.log(foo); // Last Name
})();
console.log(bar); // B
console.log(foo); // Reference Error
} catch (e) {
console.log(e);
}
JSFiddle : 가 (function() {
로 시작하는 라인이 줄을 둘러싸는 범위/폐쇄를 생성 http://jsfiddle.net/2D9fj/3/
http://stackoverflow.com/questions/1552941/variables-in-anonymous-functions-can-someone-explain-the-following에 관련? – j08691