2013-10-11 89 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()); 
}()); 
相關問題