JavaScript 中的this
当函数被调用时,会创建一个活动记录(执行上下文)。该记录包含函数在哪里被调用(调用栈),调用的方式,及传入的参数。
this的绑定:
1、默认绑定时,this指向了全局对象。
function fun1(){ console.log(this.a); } var a=1; fun1();//输出1
2、隐式绑定;当函数引用有上下文对象时,函数调用时this则绑定到这个上下文对象
function fun1(){ console.log(this.a); } var obj={ a:2, fun1:fun1 } obj.fun1();//输出2注意:bar此时调用的时fun1函数本身,因此this默认绑定到全局对象

3、显式绑定;由call或者apply(或者bind)调用
function fun1(){ console.log(this.a); } var obj={ a:2, fun1:fun1 } fun1.call(obj);//输出24、new 绑定
function fun1(a){ this.a=a; } var b=new fun1(2); console.log(b.a);//输出2