JS学习(三) 原型(prototype)

//原型(prototype),通过使用原型,JavaScript 可以建立继承,从而体现对象的层次关系。

//JavaScript 本身是基于原型的,每个对象都有一个 prototype 的属性,这个 prototype 本身也是一个对象,
//因此它本身也可以有自己的原型,这样就构成了一个链结构。
//访问一个属性的时候,解析器需要从下向上的遍历这个链结构,直到遇到该属性
//则返回属性对应的值,或者遇到原型为 null 的对象(JavaScript 的基对象 Object 的构造器的默认prototype 有一个 null 原型),如果此对象仍没有该属性,则返回 undefined
 
function Base(name){
    this.name = name;
    this.getName = function (){
        return this.name;
    }
}
 
function Child(id){
    this.id = id;
    this.getId = function () {
        return this.id;
    }
   }
//由于遍历原型链的时候,是从下而上的,所以最先遇到的属性值最先返回,通过这种机制可以完成重载的机制
}
 
Child.prototype = new Base("base");
 
var cl = new Child("child");
alert(cl.getId());
alert(cl.getName());
//由于cl从原型链上"继承"到了getName方法,因此可以访

猜你喜欢

转载自blog.csdn.net/bujiongdan/article/details/83094614
今日推荐