2011-02-18 95 views
2

我一直在玩node.js,來自Java背景,我努力區分模塊和JavaScript中對象的典型概念。Node.js模塊vs對象

當實現一個模塊,我目前做這種方式:

// someModule.js 
var privateVariable; 
this.sampleFunction = function() { 
    // ... 
} 

現在,我用在另一個地方這個模塊的方式是:

var moduleName = require('./someModule'); 

var foo = moduleName.sampleFunction(); 

我不知道如果這是在node.js中進行模塊化開發的正確方法 - 因爲我意識到我實際上並沒有使用對象,比如使用new() - 當我想要集合時需要做這些事情等。什麼是正確的方法如果我想要一個人物對象的集合,請在這裏繼續 - 我的模塊將如何定義 看起來像?

+0

對於您的問題的一般背景,您可能會發現_JavaScript:Douglas Crockford的Good Parts_有用的閱讀。它提供了一個清晰簡潔的說明(整本書只有176頁 - 很少見),說明JavaScript與「古典」(作者提到它們)語言的不同之處。 – 2011-02-18 11:40:23

回答

3
// someModule.js 
var privateVariable; 
this.Person = function(firstName, lastName) { 
    this.firstName = '...'; 
} 

然後:

var moduleName = require('./someModule'); 

var foo = new moduleName.Person('foo', 'bar'); 
1

模塊是一個命名空間來容納一堆相關的項目,所以你可能有一個「人的集合」模塊,它包含幾種類型的人的集合。 ,如「陣容」,「樁」和「垃圾箱」。

根據您使用的是oo還是函數式寫作,實際代碼看起來會有所不同。