나는이 식별자에 대해 배우고 있는데, 함수가 객체에서 호출되지 않을 때 비 엄격 모드에서 윈도우 객체를 참조한다는 것을 안다. 결과적으로 this.bar에 "무엇이든"을 기록 할 것으로 기대합니다.Chrome 콘솔과 결과가 다른 이유는 무엇입니까? This JS JS
Chrome 콘솔에서 코드를 실행할 때 "무엇이든지"출력이되지만 노드 빌드 시스템을 사용하여 코드를 실행할 때 출력이 정의되지 않습니다.
왜 그런 경우입니까? Chrome 콘솔의 결과가 정확한 것입니까? 다른 문제가 발생하면 언제쯤 이런 문제가 발생할 수 있습니까? 이 var bar = 'something'
같은 노드에서 변수를 선언 할 때
다음은이 글로벌 없습니다 선언 내 코드
function foo() {
// console.log(this)
console.log(this.bar);
}
var bar = "whatever";
// --------
foo(); // OUTPUT is "whatever" in the Chrome console and OUTPUT is undefined in Sublime's Node build system.
[이 "키워드는 어떻게 작동합니까?] (http://stackoverflow.com/questions/3127429/how-does-the-this-keyword-work) – Claies