Javascript面向对象/类

Javascript面向对象/类,javascript,Javascript,我相信这个问题以前有人问过,但我似乎找不到合适和/或最好的格式。基本上,我正在尝试开发一些自定义Javascript类,以便在我的站点中使用。我希望能够按如下方式给他们打电话: MasterClass.SubClass.function(params); 任何帮助都将不胜感激。谢谢 最简单的方法是使用对象文本形成此结构: MasterClass = { SubClass: { fn: function(params) { } } } 当您希望将

我相信这个问题以前有人问过,但我似乎找不到合适和/或最好的格式。基本上,我正在尝试开发一些自定义Javascript类,以便在我的站点中使用。我希望能够按如下方式给他们打电话:

MasterClass.SubClass.function(params);

任何帮助都将不胜感激。谢谢

最简单的方法是使用对象文本形成此结构:

MasterClass = {
    SubClass: {
        fn: function(params) {
        }
    }
}
当您希望将其分布到多个源文件时,可以执行以下操作:

MasterClass = {}
然后,在每个附加源文件中:

(function(ns) {
    ns.SubClass = {
        fn: function(param) { }
    }
}(MasterClass));

基于您的一行伪代码,这符合要求:

var MasterClass = {
    SubClass: {
        myFunction: function(params) {
            // snip
        }
    }
};

为了做不同的事情,你也可以使用原型,而不必每次都输入MasterClass

 function MasterClass () {
     this.prop = "test"
 }


 function SubClass () {
    this.func = function () {
    return this.prop
   }
}

 SubClass.prototype = new MasterClass()

 var subclass = new SubClass()
 subclass.func() //return "test"

请注意,js不是OOP,下面的答案是js原型的示例“JavaScript是一种面向对象的语言,但JavaScript不使用类。”:什么是主类和子类?它看起来不像我见过的任何OOP。@MunMrd:。请注意,这与OOP无关。这些只是嵌套对象。我知道。。。有没有一种方法可以为这些对象中的任何一个定义构造函数?我自己更喜欢简单的对象,而不是构造函数——但是知道“皮肤”javascript的不同方法是很好的