javascript 函数默认原型与对象实例
javascript function default prototype vs Object instance
Function.prototype和Object实例有什么关系?
function Person() {}
var obj = new Object();
console.dir(Person.prototype);
console.dir(obj);
控制台结果是:
我的问题:
function Person() {}
运行后面发生了什么?构造函数如何加到Person.prototype?
这个可以通过查看 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:设置F的[[Construct]]内部属性如13.2.2所述
Function.prototype和Object实例有什么关系?
function Person() {}
var obj = new Object();
console.dir(Person.prototype);
console.dir(obj);
控制台结果是:
我的问题:
function Person() {}
运行后面发生了什么?构造函数如何加到Person.prototype?
这个可以通过查看 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:设置F的[[Construct]]内部属性如13.2.2所述