如何创建我的类的数组?
我看到的是这样的:
在 main.js 中
....
mySuperClass = require('./mySuperClass.js');
objArray = new Object();
...
objArray["10"] = new mySuperClass(10);
console.log(objArray["10"].getI);
objArray["20"] = new mySuperClass(20);
console.log(objArray["20"].getI);
objArray["30"] = new mySuperClass(30);
console.log(objArray["30"].getI);
在 mySuperClass.js 中
var _i = 0;
var mySuperClass = function(ar) {
_i = ar;
}
mySuperClass.prototype.getI = function()
{
return _i
}
module.exports.create = function() {
return new mySuperClass();
}
module.exports._class = mySuperClass;
执行后报错
TypeError: object is not a function at Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR (native)
我需要纠正什么?
最佳答案
我能够通过使用以下方法让它工作:
var _i = 0;
var mySuperClass = function(ar) {
_i = ar;
}
mySuperClass.prototype.getI = function()
{
return _i
}
/*module.exports.create = function() {
return new mySuperClass();
} */
module.exports.mySuperClass = mySuperClass;
module = require('./myclass.js');
objArray = new Object();
objArray["10"] = new module.mySuperClass(10);
console.log(objArray["10"].getI());
objArray["20"] = new module.mySuperClass(20);
console.log(objArray["20"].getI());
objArray["30"] = new module.mySuperClass(30);
console.log(objArray["30"].getI());
根据我在这里阅读的内容:http://nodeguide.com/beginner.html#the-module-system ,您将属性添加到导出对象,并按原样使用它们。我不确定create是不是保留的,但是我发现我不需要它。
关于oop - 在 NodeJS 中创建一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8296379/