尽管我已经使用Javascript多年了,但是就所有流行的框架和库而言,我都是一个新手。在一般意义上,我还有很多关于“程序包”的问题:很高兴找到一个备忘单,其中列出了所有通用工具包(如JQuery)以及专用解决方案。但是我的过渡是渐进的,而且我仍在“自己动手”。

关于滚动我自己的问题:如何在Javascript中创建不打算实例化的类以捆绑静态方法?例如:

var mypackage = new Object ;
mypackage.getDocument = function () {
    return document ;
}.bind( mypackage ) ;

mypackage.getCookie = function () {
    return this.getDocument().cookie ;
    }.bind( mypackage ) ;


此示例是有意的,请不要使用其他替代方法来获取文档cookie。

这个例子展示了我用Java定义类或包的典型方法。但我知道bind()运算符相对较新,可能不适合生产。真的吗?有替代方法吗?

最佳答案

我经常看到它们被初始化为一个对象,并且也这样做。一个例子是:

// Definition.
var mypackage = {
    getDocument: function () {
        return document;
    },

    getCookie: function () {
        return this.getDocument().cookie;
    }
};

// Example.
(function () {
    console.log(mypackage.getCookie());
}());

关于javascript - 如何在JavaScript中定义静态方法类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19323490/

10-09 20:35