gpt4 book ai didi

javascript - 访问未定义的原型(prototype)方法或函数

转载 作者:行者123 更新时间:2023-11-30 14:32:24 25 4
gpt4 key购买 nike

我正在学习使用原型(prototype),但在导出和在其他文件中使用它时遇到一些问题。要求部分有效,但我无法访问我的 data.js 中的属性或方法。

如果我想使用 myFunction 我得到 myFunction is not a function 和属性 undefined

我也不明白为什么 function(){}; 而不是 let Data = {}; 有效...

// data.js
let Data = function(){};

Data.prototype.integers = [0,1,3,2,8,4,11,22,74,98,111,5];

Data.prototype.myFunction= function (text){
return text
}
module.exports.Data = Data;


// main.js
let Numbers = require ("./data.js");
console.log(Numbers.myFunction("some text"), Numbers.integers ); // myFunction is not a function

最佳答案

这是因为您正在向 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 中编写的代码也可以正常工作。

关于javascript - 访问未定义的原型(prototype)方法或函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50974428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com