看了好2天的javascript面向对象。对其中的prototype一直不能领会。
prototype到底是怎么继承的?它到底是什么?
看了书上那些概念和百度上的回答,一直不能领会。
比如
s1=function(){构造函数}
s2=function(){构造函数}
s1.prototype=s2.prototype
这个s2.prototype到底继承了s1的什么东西啊?s1现在不是什么都没有吗?只有构造函数。 

解决方案 »

  1.   

    prototype是内置的,可以在原有的基础上创建新的函数…比如js1.6前都没有字符串Trim()这个方法,但是我们可以通过String.prototype来自定义一个Trim()方法…
      

  2.   

    prototype也是一个对象, XX.prototype=new func();
    s1通过原型继承,如果原型对象有属性x 那s1也就有了,当访问s1的属性或方法,如果它本身没有,就会搜索它的原型,如果它的原型也没有,就会搜索它原型的原型.这样递归..
      

  3.   

    参见:http://www.jslab.org.cn/?tag=prototypeChain