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

这个算是 JavaScript 的静态变量吗?
JScript code
function ClassA(sColor) {
  //Define Properties
  this.color = sColor;
  this.drivers = new Array("Mike","John");
  
  this.showColor = function() {
      prt(this.color);
  };

  ClassA.price = 120;
}

var obj = new ClassA("RED");
obj.showColor();
prt(obj.price); //undefined
prt(ClassA.price); //120



其中的 ClassA.price 算是静态变量吗?

------解决方案--------------------
感觉应该是
------解决方案--------------------
是这么回事
------解决方案--------------------
在classA函数体外,定义一个
ClassA.propotype.price = 120;
这个就是静态的!

------解决方案--------------------
是静态变量
------解决方案--------------------
还没听说过有js静态变量
------解决方案--------------------
JScript code

第一:js中的类也有静态变量。
第二:js中类的静态变量定义在类对象的prototype中。
第三:这个例子中的price不是类ClassA的静态变量,只是类ClassA对象的一个属性。
第四:什么是静态变量?建议好好看看面向对象设计,特别是楼上答案错误的。
第五:任意一个类ClassA的事例对象都访问不到price属性。
第六:建议你结贴。

------解决方案--------------------
探讨

JScript code

第一:js中的类也有静态变量。
第二:js中类的静态变量定义在类对象的prototype中。
第三:这个例子中的price不是类ClassA的静态变量,只是类ClassA对象的一个属性。
第四:什么是静态变量?建议好好看看面向对象设计,特别是楼上答案错误的。
第五:任意一个类ClassA的事例对象都访问不到price属性。
第六:建议你结贴。