2013-10-11 59 views
0

尽管我已经使用Javascript多年,但对于所有流行的框架和库而言,我完全是一个新手。在这个一般意义上,我有很多关于“包”的问题:找到一个列出所有通用工具包(如JQuery)以及专门解决方案的cheatsheet会很好。但我的转变是渐进的,我仍然在“自己动手”。如何在javascript中定义静态方法类

在滚动我自己的方面:如何在JavaScript中创建不打算为了捆绑静态方法而实例化的类?例如:

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

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

这个例子是故意微不足道的,请不要用于检索文档的cookie替代响应。

这个例子演示了我的典型方法在Javascript中定义一个类。但我知道bind()操作符相对较新,可能不适合生产。真的吗?有其他方法吗?

+1

var mypackage = {getDocument:function(){...},getCookie:function(){...}}'? –

+0

有一个相当不错的Javascript设计模式的电子书可能会帮助你。 http://addyosmani.com/resources/essentialjsdesignpatterns/book/ – asafreedman

+0

Javascript没有类。它确实有一个原型驱动的面向对象系统。不过,我想你实际上是在寻求_namespaces_。 –

回答

2

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

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

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

// Example. 
(function() { 
    console.log(mypackage.getCookie()); 
}()); 
相关问题