this指向的问题;

https://img1.mukewang.com/5bab194c0001967a08700585.jpg

 function Person(name){

        this.name = name;

    }

    Person.prototype.each = function () {

        console.log('吃东西');

    }

    

    var xiaoming = new Person('小明')

实例对象的时候this指向Person构造函数;不是很明白this是怎么样指向Person构造函数,this是一个对象,又不是实例的一个属性怎么样指向Perosn构造函数呢?大神们能不能给小弟画一下图说明一下;


三国纷争
浏览 581回答 1
1回答

慕勒3428872

Javascript中使用new时,实际上做了下面几件事:1、创建一个新的对象,这个对象的类型是object;2、设置这个新的对象的内部、可访问性和[[prototype]]属性为构造函数(指prototype.construtor所指向的构造函数)中设置的;3、执行构造函数,当this关键字被提及的时候,使用新创建的对象的属性;4、返回新创建的对象(除非构造方法中返回的是‘无原型’)。this并不是指向构造函数,而是待返回的空对象。只是this有个__proto__属性会执行构造器的prototype属性。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript