function Person(name){ this.name = name; } Person.prototype.each = function () { console.log('吃东西'); } var xiaoming = new Person('小明')实例对象的时候this指向Person构造函数;不是很明白this是怎么样指向Person构造函数,this是一个对象,又不是实例的一个属性怎么样指向Perosn构造函数呢?大神们能不能给小弟画一下图说明一下;
1 回答

慕勒3428872
TA贡献1848条经验 获得超6个赞
Javascript中使用new时,实际上做了下面几件事:
1、创建一个新的对象,这个对象的类型是object;
2、设置这个新的对象的内部、可访问性和[[prototype]]属性为构造函数(指prototype.construtor所指向的构造函数)中设置的;
3、执行构造函数,当this关键字被提及的时候,使用新创建的对象的属性;
4、返回新创建的对象(除非构造方法中返回的是‘无原型’)。
this并不是指向构造函数,而是待返回的空对象。只是this有个__proto__属性会执行构造器的prototype属性。
添加回答
举报
0/150
提交
取消