javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用。以A.prototype = new B();为例,
理解prototype不应把它和继承混淆,A的prototype为B的一个实例,可以理解A将B中的方法和属性全部克隆了一遍,A可以使用B的方法和属性,这里强调的是克隆而不是继承,可以出现这种情况:A的prototype是B的实例,同时B的prototype也是A的实例。
1 function baseClass() 2 { 3 this.showMsg = function() 4 { 5 alert("baseClass::showMsg"); 6 } 7 } 8 9 function extendClass() 10 { 11 } 12 extendClass.prototype = new baseClass(); 13 var instance = new extendClass(); 14 instance.showMsg(); // 显示baseClass::showMsg