여기 누군가가이 모든 것을 우리 모두를 위해 곧바로 얻을 수 있습니까? 내가 parent.child()
를 호출 할 때자바 스크립트와이 키워드의 문맥
var parent = {child: function(){
console.log(this);
var log = function(){
console.log(this);};
log();
}
}
내가 얻을 : 모질라에
Object{}
Window{}
다른 사람/문서는이 기능이 어떤 맥락없이 호출 된 것을 말한다. 및
this
은 함수가 호출되는 객체입니다. 내가 이해할 수없는 것은 다른 개체 내의이 함수가 컨텍스트없이 어떻게 간주되는지 (따라서 this
은 전역 개체로 기본값 설정 됨)입니다. 여기에 논리가 뭐니? 감사합니다
'log'는 컨텍스트없이 호출된다. 컨텍스트를 사용하여 호출하려면'log.call (this)'을 수행해야합니다. 컨텍스트가 없으면 엄격 모드에서'undefined'라는 엉성한 모드에서'window'를 얻습니다. – trincot
http://stackoverflow.com/questions/111102/how-do-javascript-closures-work – epascarello
감사. 나는 그것을 안다. 내가 궁금해하는 것은 그것이 문맥없이 어떻게 불려지는지입니다. – BlackLog