原型链

原型链

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生成的
原型链.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

你可能感兴趣的:(原型链)