this指向
-
-
- 1、直接调用,指向全局
- 2、全局函数中的this
- 3、构造函数普通调用,指向全局(构造函数也是普通函数,可以正常执行)
- 4、构造函数通过new调用创建一个实例对象,指向这个实例对象
- 5、对象(json创建)里面的方法调用,指向这个对象
- 6、对象(通过Object创建)里面的方法调用,指向这个对象
- 7、对象(通构造函数创建)里面的方法调用,指向这个对象
- 8、函数调用的时候,前面加上 new 关键字
- 9、用call 与 apply 的方式调用函数
- 10、定时器中的this,指向的是window
- 11、元素绑定事件,事件触发后,执行的函数中的this,指向的是当前元素
- 12、函数调用时如果绑定了bind,那么函数中的this指向了bind中绑定的元素
- 13、对象中的方法,该方法被哪个对象调用了,那么方法中的 this 就指向该对象
-
1、直接调用,指向全局
console.log(this); // window
2、全局函数中的this
- 在普通函数里调用,指向全局
function fn(){
console.log(this);
}
fn();
- 在严格模式下,this 是undefined
function demo(){
'use strict';
console.log(this); // undefined
}
demo();
3、构造函数普通调用,指向全局(构造函数也是普通函数,可以正常执行)
function Car(){
this.name="奥迪";
console.log(this);
}
Car();
4、构造函数通过new调用创建一个实例对象,指向这个实例对象
var x = 0;
function Student(name,x){
this.name