![看透JavaScript:原理、方法与实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/516/26943516/b_26943516.jpg)
上QQ阅读APP看书,第一时间看更新
7.3 关联方法后的this
我们先来看下面的例子。
function logColor(){ console.log(this.color); } function Obj(){} var o = new Obj(); Obj.color = "red"; o.color = "blue"; Obj.logColor = logColor; o.logColor = logColor; Obj.logColor(); //red o.logColor(); //blue
这个例子中首先定义了一个独立的函数logColor,然后定义了Obj方法对象并使用Obj创建了实例对象o,接着给Obj和o分别添加了color属性和logColor方法属性,logColor属性被直接关联到了独立的函数logColor,这时调用Obj的logColor()就会打印出Obj的color值red,调用实例o的logColor则会打印出o的color值blue。即,谁调用方法this就指向谁。