Javascript Node.js模块与对象
我一直在玩node.js,来自Java背景,我正在努力区分模块和JavaScript中对象的典型概念 在实施模块时,我目前的做法是:Javascript Node.js模块与对象,javascript,node.js,Javascript,Node.js,我一直在玩node.js,来自Java背景,我正在努力区分模块和JavaScript中对象的典型概念 在实施模块时,我目前的做法是: // someModule.js var privateVariable; this.sampleFunction = function() { // ... } 现在,我在另一个地方使用此模块的方式是: var moduleName = require('./someModule'); var foo = moduleName.sampleFuncti
// someModule.js
var privateVariable;
this.sampleFunction = function() {
// ...
}
现在,我在另一个地方使用此模块的方式是:
var moduleName = require('./someModule');
var foo = moduleName.sampleFunction();
我不知道这是否是在node.js中进行模块化开发的正确方法-因为我意识到我实际上并没有使用对象,比如使用new()-当我想要集合时,我需要这样做。如果我想要一个person对象集合,这里的正确方法是什么-我的模块和它的定义是什么样的
// someModule.js
var privateVariable;
this.Person = function(firstName, lastName) {
this.firstName = '...';
}
然后:
var moduleName = require('./someModule');
var foo = new moduleName.Person('foo', 'bar');
模块是一个名称空间,用于在其中保存一组相关项。因此,您可能有一个“personcollections”模块,其中包含几种类型的personcollections,例如“lineup”、“pile”和“dumpster”
根据您使用的是oo还是函数式的写作风格,实际的代码看起来会有所不同 对于您的问题的一般背景,您可能会发现Douglas Crockford的JavaScript:The Good Parts是一本很有帮助的书。它提供了一个清晰而简洁的解释(整本书只有176页——这是罕见的),说明了JavaScript与“经典”(正如作者所说)语言的区别。