解释为什么这个奇怪的JavaScript代码有效

时间:2012-07-29 14:31:02

标签: javascript

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不会抛出任何错误?

2 个答案:

答案 0 :(得分:3)

this绑定到window对象。方法get_denomination已在window对象中注册。

答案 1 :(得分:3)

在您发布的代码中,this是全局window对象。在默认的全局范围(例如get_denomination)中创建函数时,它将作为属性附加到window对象。