var o = { appendTo: function (_dom) {} }; function DivTag() {} DivTag.prototype = o; var tag = new DivTag();
function Person() {} var p = new Person();
p
-> Person.prototype
-> Object.prototype
-> null
c++
Object.prototype
又会牵扯出Object
构造函数Object
构造函数:o
-> Object.prototype
-> null
Person
与Object
能够做为构造函数看待,也能够做为对象看待,看成为对象看待时,他们就是Function
的实例Person
是Function
的实例,继承自Function.prototype
Object
也是Function
的实例,继承自Function.prototype
Function
也是Function
建立出来的(这个说法是推导出来的,虽然看起来有点像无稽之谈,可是Function
确实是一个特殊的状况,是JavaScript中惟一的特例)app
Function.prototype
-> Object.prototype
-> null
Person
原型对象,Function
原型对象,Object
原型对象,这三个原型对象没有画是由谁建立出来的,没必要要纠结这三个对象是谁建立出来的,这些是由底层c++
实现的,若是说非要画的话,颇有可能建立它们就是Object
。dom