javascript函数默认原型vs对象实例

时间:2016-12-31 02:50:57

标签: javascript prototype instance

Function.prototype和Object实例之间有什么关系?

function Person() {}
var obj = new Object();
console.dir(Person.prototype);
console.dir(obj);

控制台结果是: enter image description here

我的问题:

function Person() {}运行时发生了什么?如何将构造函数添加到Person.prototype?

1 个答案:

答案 0 :(得分:2)

通过查看EMCAScript标准可以回答这个问题

首先,请查看此处记录的new关键字:

https://www.ecma-international.org/ecma-262/5.1/#sec-11.2.2

反过来调用内部[[Construct]]方法,在此处记录:

https://www.ecma-international.org/ecma-262/5.1/#sec-13.2.2

第7步:按照13.2.2中的描述设置F的[[Construct]]内部属性。