原型鏈
1.proto:其實(shí)是原型鏈的指針
2.prototype:用來指向原型對(duì)象
3.contructor:每一個(gè)原型對(duì)象都包含一個(gè)指向構(gòu)造函數(shù)的指針
在JS中是通過prototype對(duì)象指向父類對(duì)象,直到指向Object對(duì)象為止
這樣就形成了一個(gè)原型指向的鏈條
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(); // 抱錯(cuò),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