elephant

赫本之后 再无女神

Constructor && Prototype

每个对象都是个散列表 每个原型都有相关连的函数,每个函数都有相关联的原型

1
2
3
4
var A = function(){};
var p = A.prototype ;
var c = p.constructor;
A==c

函数的对象的constructor就是该函数(未修改prototype)

1
2
3
4
function A() {
}
var a = new A();
a.constructor == A

修改函数的prototype后其对象的constructor为新的prototype的constructor

1
2
3
4
5
6
function A(){};
function B(){};
A.prototype = new B();
console.log((new A()).constructor); //为function B(){}
A.prototype.constructor = A;
console.log((new A()).constructor);//为function A(){}

{}(对象直接量)对象是function Object(){}的对象