this的四种指向和三种改变方法
一、this指针:
下面是MDN上关于this指针的表述:
当前执行上下文(global、function 或 eval)的一个属性,在非严格模式下,总是指向一个对象,在严格模式下可以是任意值。—MDN
从字面上的意思,this也就是当前对象主体的一个代指。
二、this指针在JavaScript中的四种指向:
- 直接调用的情况下this指向window,即直接调用一个可以直接调用的函数,this指向window
- 通过new运算符,new这个函数,则this指向当前new出来的函数对象
- 通过创建一个对象,然后通过对象进行调用,this指向该对象(谁调用,指向谁)
- 箭头函数中没有this,箭头函数中的this指向的是上下文的this
// 1.直接调用的情况下this指向window
console.log("情况一:this指向window")
console.log(this); //window
// 用var 会将name挂载到window
var name = 'window\'s name'
// 2.直接调用一个可以直接调用的函数,this指向window
function print() {
console.log(this)
console.log(this.name);
}
console.log(