this指向
Posted penggedeboke1999
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了this指向相关的知识,希望对你有一定的参考价值。
1. 普通的函数调用时,this 指的是 global 对象,由于 global 对象是作为 window 对象的一部分实现的,因此 this 认为是 window 对象
// 1. 普通的函数调用时 function max () { this.x = 1; // this 指的是 global 对象,由于 global 对象是作为 window 对象的一部分实现的,因此 this 认为是 window 对象 console.log(this) } max();
2. 作为对象的方法调用时,函数中的 this 指向的是函数的直接所有者。换句话来说,函数直接属于谁,函数中的 this 就指向谁
// 2. 作为对象的方法调用时 var obj = { fullName: ‘张康‘, sayName: function() { // this 指的是 obj 对象 console.log(this) return this.fullName; } }; // 函数中的 this 指向的是函数的直接所有者。换句话来说,函数直接属于谁,函数中的 this 就指向谁。 window.obj.sayName();
3、作为构造函数调用时,this 指的是新创建的实例,接下来会被自动返回到函数外部
// 3. 作为构造函数调用时 function Dog(dogName, dogAge) { // this 指的是新创建的实例,接下来会被自动返回到函数外部 console.log(this) this.name = dogName; this.age = dogAge; } // 调用构造函数 var dog1 = new Dog(‘哈士奇‘, 3); var dog2 = new Dog(‘泰迪‘, 2); console.log(dog1, dog2)
以上是关于this指向的主要内容,如果未能解决你的问题,请参考以下文章