原型链
1.proto:其实是原型链的指针
2.prototype:用来指向原型对象
3.contructor:每一个原型对象都包含一个指向构造函数的指针
在JS中是通过prototype对象指向父类对象,直到指向Object对象为止
这样就形成了一个原型指向的链条
var F = function() {};
Object.prototype.a = function() {
console.log("aa");
};
Function.prototype.b = function() {
console.log("bb");
};
var f = new F();
F.a(); //aa
F.b(); //bb
f.a(); //aa
f.b(); // 抱错,f.b is not a function
//所有的构造函数都是由Function生成的
function A() {
this.name = 'a'
this.color = ['green', 'yellow']
}
function B() {
}
B.prototype = new A()
var b1 = new B()
var b2 = new B()
b1.name = 'change'
b1.color.push('black')
console.log(b2.name) // change
console.log(b2.color) // green yellow black