两者根本不是一个概念,我不懂java,但是C#还是懂一点点的,static是完全面向对象的C#里的东西。
    prototype,在javascript里,为function写出来的对象提供的一种访问成员的方法吧(权宜之计),了解不多,说的不对的地方就当我胡说好咯。    看了没几天C#,就觉得javascript好落后:(,唉。

解决方案 »

  1.   

    c#和js有什么好比较的?各自的应用领域不一样...
    java里不能用instance去访问static变量?反过来才是不行吧;)
    prototype相当于增加一个public成员(property或method)
      

  2.   

    static是由class直接去访问的,无需创建instance,C#也是一样.
    但是prototype是扩展原型的功能,而一般使用static的用处就是为了能够直接使用class来访问数据成员、方法或者利用static构造函数来初始化static的数据成员,胡说了一通,是不是这样?
      

  3.   

    当然,static很多时候为各个类实例之间共享数据提供方便,一定意义上起到全局变量的作用。
      

  4.   

    我也知道static是用class访问的,而prototype是用实例访问的,但是,这两者在实质上的区别我仍然没有理解!
    看个例子吧:
      function car(owner,make,year){
      ……
      }
      car.prototype.color="black";
      var carA = new car("a","b",1992);
      var carB = new car("a1","b1",1990);
      
      carA.color = "red";
     //此时,carA的color属性应该是一个新的属性,与原来的prototype.color 并没有关系,但是,原来的那个prototype.color(="black"的那个属性)还有什么用处呢?
      

  5.   

    car.prototype.color="black";表明car增加了一个成员变量为"color",初始值为"black",相当与下面class的定义----------------------------------------------------------
    class car{
      public String color = "black"
    }
    ----------------------------------------------------------//从下面的例子可以明确看到这一点
    function Car(){
      
    }
    Car.prototype.color = "black"oCar1 = new Car()
    alert("car1's color:" + oCar1.color)  //初始值black
    oCar1.color = "red"                   
    alert("car1's color:" + oCar1.color)  //实例的color已经改变
    oCar2 = new Car()
    alert("car2's color:" + oCar2.color)  //初始值black
    alert(Car.color)                      //undifined,因为color不是static变量
      

  6.   

    楼上大侠的意思和书上的不一样哦!
    书上说:
    carA.color = "red";
    是实例carA有了一个新的属性color,和原来prototype申明的那个color是不一样的!???!·#¥%……—*越来越糊涂了!
      

  7.   

    楼上大侠的意思和书上的不一样哦!
    书上说:
    carA.color = "red";
    是实例carA有了一个新的属性color,和原来prototype申明的那个color是不一样的!???!·#¥%……—*越来越糊涂了!
      

  8.   

    楼上大侠的意思和书上的不一样哦!
    书上说:
    carA.color = "red";
    是实例carA有了一个新的属性color,和原来prototype申明的那个color是不一样的
    越来越糊涂了!!!
      

  9.   

    sunbeamy(阳光灿烂的深夜)的例子不错。
    新实例的color属性当然和prototype定义的color属性当然不一定
    oCar1 = new Car()
    oCar1.color = "red"                   
    alert("car1's color:" + oCar1.color)  //实例的color已经改变
    alert("数据成员color的值仍然没有改变:" + new Car().color)