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