如何在Javascript中定义类

如何在Javascript中定义类,javascript,Javascript,我想用Javascript创建一个类。 这个班应该有 私有和公共变量和函数 静态和动态变量和函数 如何做到这一点?创建支持公共和私有属性的对象的好方法是使用factory函数: function createObj(){ var privateVariable = "private"; var result = {}; result.publicProp = 12; result.publicMethod = function() { alert(thi

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

  • 私有和公共变量和函数
  • 静态和动态变量和函数

  • 如何做到这一点?

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

    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
    

    正确开发javascript的第一步是接受。。。承认javascript中没有类。。。所以你投票反对这个可怜的用户,因为他不知道JavaScript没有类?@jondavidjohn你的回答暗示OP拒绝接受,但更可能的是他根本不知道……我同意西姆·维达斯的观点。仅仅因为这个问题是“错误的”,并不意味着它没有价值。我肯定有很多人会问同样的问题。@RajeshCP:我对javascripts不太了解,但当google得到这个链接时,我发现这个问题很有趣,看起来这个链接也在寻找你需要的东西。。)