this -> 在什么地方表示什么对象 -> 谁调用它它指向谁 -> 哪个对象调用this所在的函数,这个this就指向这个对象.
1:先确定this在哪个函数声明里。
2:找到函数调用,确定这个函数是被哪个对象调用的。
如何知道被哪个对象调用:函数调用的前面有没有一个对象的名字,如果有,this就指向这个对象,如果没有,就指向window
函数调用 -> 一定是通过一个对象来调用 -> 写法一定是:对象.函数();
例:
<input type="button" id="btn" value="点击" />
var oBtn = document.getElementById("btn");
oBtn.onclick = show();
function show(){
console.log(this);//window
return function(){
console.log(this);//按钮
}
}
fn不是被show调用,是被window调用。因为调用时省略了window.window.fn();
function show(){
fn();
}
function fn(){}
this的指向与调用
最新推荐文章于 2019-09-25 14:55:44 发布