当ES程序通过访问对象的属性来调用(call)一个函数时,该函数体内的this关键字将绑定该对象的引用。
如果直接调用函数本身,this关键字内容为undefined。
~~~
var func = function () {
console.dir(this);
};
var foo = { foo: "I am foo.", func: func };
foo.func();
func();
~~~
![](https://box.kancloud.cn/deaae39a1a86cfea4d112d07e9f258f4_204x89.jpg)
可以知道,this关键字的作用是获取调用函数的对象。