不太理解一个问题,构造函数的__proto__,是啥?

小白看完一些文章有点晕,其中不理解的一个问题就是

比如

person.__proto__是 Person.prototype

那么Person.__proto__是Function.prototype 这是为何。 那么Fuction.prototype算原型链中的一步吗? 函数对象和普通对象有点分不清。求点醒。


拉丁的传说
浏览 1309回答 2
2回答

慕婉清6462132

因为构造器函数是函数的一种,所以函数构造器的__proto__指向Function.prototype

回首忆惘然

1、首选__proto__是浏览器厂商实现的,W3C规范中并没有这个东西。2、它的作用就是访问对象的原型。3、对于js来说,一切皆对象,尤其是引用类型,更是如此。4、所有的对象都有一个原型(null除外),函数是对象,那么函数也不例外。所以Person.__proto__就是访问这个构造函数的原型。5、每一个函数都有一个prototype属性,属性的值也是一个对象,称为原型对象。所以Person.prototype访问的就是这个Person类的原型对象。6、抛开__proto__来说,通过属性访问Person的原型可以这样写:Person.constructor.prototype。也就是说Person.contractor.prototype === Person.__proto__ //true;7、假如实例化Person,var p = new Person();综上所述,p.constructor === Person // true; p.constructor.prototype === Person.prototype // true;不知道这样解释能理解嘛。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript