this
调用函数时候,每次都会向函数内部传递一个隐含的参数
(this)
。
我们称之为,函数执行的上下文对象。
根据函数调用的方式的不同,this会指向不同的对象。
JavaScript this 关键词指的是它所属的对象。
具体取决于它的使用位置:
- 在方法中,
this
指的是所有者对象
- 单独的情况下,
this
指的是
window
- 在函数中,
this
指的是
window
- 在事件中,
this
指的是接收事件的元素
简而言之,谁调用,
this
就指向谁
function sayName(){console.log(this.name);}var obj = {name:\'tom\',sayName:sayName}function fish() {console.log(this.bar);}var bar = \"bar1\";var o2 = {bar: \"bar2\", fish: fish};var o3 = {bar: \"bar3\", fish: fish};fish();o2.fish(); //bar2o3.fish(); //bar3