我正在学习使用原型,但是在导出和在其他文件中使用它时存在一些问题。需求部分有效,但是我无法访问data.js中的属性或方法。
如果我想使用ArrayList
,我会得到myFunction
和属性myFunction is not a function
我也不明白为什么undefined
而不是function(){};
有用...
let Data = {};
答案 0 :(得分:2)
这是因为您要向Data.prototype
添加成员。
将module.exports.Data = Data
更改为module.exports.Data = new Data()
。
除非您想做一些面向对象的编程,否则我将按照以下方式重构您的代码:
// data.js
module.exports.Data = {
integers: [0,1,3,2,8,4,11,22,74,98,111,5],
myFunction: function (text){
return text
}
}
所以您在main.js
中的代码也可以正常工作。