function get_denomination(){
return "Fabrice Petard";
}
function auto_flatterie(flatterie){ //
return this.get_denomination() + " est " + flatterie + " !";
}
console.debug(auto_flatterie("le plus intelligent")); // affiche "Fabrice Petard est le plus intelligent !"
"this"가 무엇에 바인딩되어 있는지, 왜 this.get_denomination이 오류를 발생시키지 않는지 설명 할 수 있습니까?왜이 이상한 자바 스크립트 코드가 작동하는지 설명하십시오.
https://developer.mozilla.org/en/JavaScript/Reference/Operators/this를 읽으십시오. –
이것은 또한 http://www.robertsosinski.com/2009/04/28/binding-scope-in-javascript/에 도움이 될 수 있습니다. 설명하는 사례에 대해 논의하고 있습니다. – Adi
아마도 자바 스크립트를 [ 'strict mode'] (https://developer.mozilla.org/en/JavaScript/Strict_mode), [이 코드는 실제로 오류를 던질 것입니다] (http://jsfiddle.net/mYecU/). Strict 모드는 암시 적 전역과 같은 다른 가난한 언어 결정으로부터 사용자를 보호합니다. – Esailija