如何在Javascript中定义一个类

时间:2011-12-21 16:56:28

标签: javascript

我想在Javascript中创建一个类。 这个班应该有

  1. 私有和公共变量和函数。
  2. 静态和动态变量和函数。
  3. 如何做到这一点?

1 个答案:

答案 0 :(得分:6)

创建支持公共和私有属性的对象的一种好方法是使用工厂函数:

function createObj(){
   var privateVariable = "private";

   var result = {};

   result.publicProp = 12;

   result.publicMethod = function() {
      alert(this.publicProp);
      alert(privateVariable);
   };

   //this will add properties dynamically to the object in question
   result.createProperty = function (name, value) {
       this[name] = value;
   };

   return result;
}

至于静态,您可以通过将它们放在函数本身上来模拟它们

createObj.staticProperty1 = "sorta static";

要查看动态属性:

var obj = createObj();
obj.createProperty("foo", "bar");
alert(obj.foo); //alerts bar