日期:2014-05-16 浏览次数:20323 次
//原型(prototype),是 JavaScript 特有的一个概念,通过使用原型,JavaScript 可以 //建立其传统 OO 语言中的继承,从而体现对象的层次关系。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; } // this.getName = function (){ // return this.id; // } //由于遍历原型链的时候,是有下而上的,所以最先遇到的属性值最先返回,通过这种机制可 //以完成重载的机制 } Child.prototype = new Base("base"); var cl = new Child("child"); alert(cl.getId()); alert(cl.getName()); //由于c1从原型链上"继承"到了getName方法,因此可以访