Javascript 在另一个类中使用一个类

Javascript 在另一个类中使用一个类,javascript,class,prototype,Javascript,Class,Prototype,在我的项目中,我将所有常用方法保存在一个文件中,并将其类命名为SandBox。我正在中加载此文件 现在我需要在另一个特定于页面的类中使用这个SandBox类。类名为Homeclass。我正在加载这个主页类,就在上面 我应该如何在Homeclass中使用SandBoxclass 我在我的Home类中尝试了以下方法,在这里我只能在initialize属性中访问SandBox类的方法,但我需要在Home类的所有方法中访问它,而不必在每个方法中重复声明为new SandBox() var PdClick

在我的项目中,我将所有常用方法保存在一个文件中,并将其类命名为
SandBox
。我正在
中加载此文件

现在我需要在另一个特定于页面的类中使用这个
SandBox
类。类名为
Home
class。我正在加载这个
主页
类,就在
上面

我应该如何在
Home
class中使用
SandBox
class

我在我的
Home
类中尝试了以下方法,在这里我只能在
initialize
属性中访问
SandBox
类的方法,但我需要在
Home
类的所有方法中访问它,而不必在每个方法中重复声明为
new SandBox()

var PdClicksClass = Class.create();
PdClicksClass.prototype = {
    initialize : function(){
        var sb = new SandBox();
        sb.attachEvents(/* some arguments here */);
    },
    toggleReviewSection : function(e){
        //SandBox class methods should also use here
    },
    openImagePopup: function(e){
        //SandBox class methods should also use here    
    }
};

var projectDetails = new PdClicksClass();
PS:我不认为在
Home
类的每个方法中声明
new SandBox()
(正如我在上面的initialize中所做的那样)是有效的

var sb = //etc
你想做什么

this._sb = //etc
那么你可以参考

this._sb

下划线通常在js中用作私有值的约定。

下面是一个对象属性的示例

function PdClicksClass() {
    /* other class stuff here */
    this.sb = new Sandbox();
}

PdClicksClass.prototype = {
    getSandbox : function() {
        return this.sb;
    }
}

或者,如果封装不是问题,只需通过
PdClicksClass.sb

调用它,您的代码有什么问题?为什么你认为新的沙盒不“有效”(不管在这个上下文中是什么意思)?@FelixKling没问题。。但是我需要在我的
主页
类中访问与
沙盒
类相关的方法
new SandBox
很有效,但在
Home
类的所有方法中反复使用它并不好。必须有一些替代方法。如果要在另一个方法中访问
sb
,必须将其声明为对象的属性,而不是局部变量。如果您希望每个
PdClicksClass
实例都有自己的
SandBox
实例,那么这就是您必须做的。可能有一个方法返回
sb
?那就从家里的课堂上打电话<代码>var derp=PdClicksClass.getSandBox()更好的方法是使用obj属性though@FelixKling哦。。然后我需要在所有方法中将它用作
this.sb
,好吗?