2013-10-18 38 views
0

如何將我的Class1實例?我如何創建我的class1的名稱空間,然後初始化它

var Namespace1 = {}; 
Namespace1.Class1 = { 
    test: function() { 
     alert('test'); 
    } 
}; 

var x = Namespace1; 

x.Class1.test(); 

不知道如果我這樣做對嗎?

+0

你想創建一個類? –

+0

我可以在命名空間對象內創建一個類嗎? – Rod

+3

那麼JS本質上是一流的少,所以這給你嵌套的對象,這是不夠的確定,如果你不需要繼承。 – tomca32

回答

1

命名空間:您需要定義嵌套對象定義命名空間,你已經在做。

Namespace1 = {}; 

類:既然你要定義一個類能夠實例您需要定義的Class1的功能(類是如何用JavaScript實現)。

Namespace1.Class1 = function(){ }; 
Namespace1.Class1.prototype.test = function(){ alert("test"); }; 

實例化:現在你可以使用類的全名跟new實例化和對象上調用函數。

var x = Namespace1; 
var obj = new x.Class1;//you could directly use Namespace1.Class1 as well 
obj.test(); 
+0

非常感謝你 – Rod

+0

所以我只是使用的命名慣例爲私人與班裏公共的方法呢? _private vs Public? – Rod

+1

是的。或者你可以定義在構造函數中使用私有變量的方法。 'function(){var pvtVar =「」; this.test =函數(){pvtVar = 「ABC」;}; }' –

相關問題