首页 > 代码库 > js中this的指向
js中this的指向
1、如果this不在function里面,都是window
2、在function里面 this永远指向调用者
a、普通调用 this就是window
//普通调用
var a = function(){
console.log(this);
}
a(); // == window.a();
b、对象调用 this就是调用该方法的对象
//对象调用
var dog = {
name: ‘多多‘,
showName: function(){
console.log(this.name);
}
};
dog.showName();
c、事件驱动和事件绑定
1、事件驱动 this就是添加事件的那个对象
2、事件绑定
ie: window
非ie:绑定事件的对象(btn)
d、类里面的this 使用new时创建的一个新对象
类里面(function)一般不会出现变量
e、call/apply (不传参数默认为window)
改变function内部的this指向
fn && fn.call(this); //obj
js中this的指向