日期:2014-05-16  浏览次数:20598 次

a.prototype = b.prototype是什么意思?
function extend(subClass, superClass){

  function inheritance(){};
  inheritance.prototype = superClass.prototype;( 这里不明白是什么意思?)
   
  subClass.prototype = new inheritance();
  subClass.prototype.constructor = subClass;
  subClass.baseConstructor = superClass ( 这里是不是为子类subClass添加个
  baseConstructor属性为superClass的引用?)
   
  //以下的都不是很明白了
  if(superClass.__super__){
  superClass.prototype.__super__ = superClass.__super__;
  }
  subClass.__super__ = superClass.prototype;
}

求高手详细解答下~~!

------解决方案--------------------
a.prototype = b.prototype
因为a实例的__proto__会指向a.prototype,然后a.prototype又指向b.prototype
所以a实例的__proto__会指向b.prototype,于是a的实例可以访问b构造函数原型里定义的属性或者方法。
------解决方案--------------------
hi
这里得__super__应该是程序自己定义得变量。。
能把程序补齐全吗?