为了账号安全,请及时绑定邮箱和手机立即绑定

this指向的问题;

this指向的问题;

三国纷争 2018-08-14 10:10:07
 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属性。


查看完整回答
反对 回复 2018-09-26
  • 1 回答
  • 0 关注
  • 580 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信