一个类的原始为何是一个“对象”呢?即为何prototype属性是一个对象?
原始应该是比类型(类)更为抽象的东西,类的属性prototype就是表示一个类的原型。
但是这个原型为何却是一个对象呢?
对象是类的实例化呀,是一个具体的东西。但是一个非常具体的东西却可以成为一个类的原型,
我无论如何都是不能理解的,
请大家讲讲这是为什么呢?

解决方案 »

  1.   

    javascript 没有"类"的概念.要放下对象和类,达到"对象本无根,类型亦无形"的境界确实是件不容易的事情啊。所以,javascript中没有"类",类已化为无形,与对象融为一体。正是由于放下了"类"这个概念,javascript的对象才有了其他编程语言没有的活力。
    javascript的所有function类型的对象都要有一个prototype属性。这个prototype属性本身又是一个object类型对象,因此我们可以给这个prototype对象添加任意的属性和方法。既然prototype是对象的"原型",那么由该函数构造出来的对象应该都会具有这个"原型"的特征。事实上,在构造函数prototype上定义的所有属性和方法,都是可以通过构造的对象直接访问和调用的。也可以这么说,prototype提供了一群同类对象共享属性和方法的机制。
      

  2.   

    一直都觉得prototype不是个好东西,当成是额外增加东西的东西就好了……
      

  3.   

    java中有个Class类,这个类当中的很多属性也是对象
    prototype,就是类模板由于这个对象有了类。而类再实例化出对象。
    是先有类还是先有对象。就跟先有鸡还是先有蛋一样。