原型鏈
1.proto:其實是原型鏈的指針
2.prototype:用來指向原型對象
3.contructor:每一個原型對象都包含一個指向構(gòu)造函數(shù)的指針
在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
//所有的構(gòu)造函數(shù)都是由Function生成的

原型鏈.png
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

原型鏈題目2.png