gpt4 book ai didi

JavaScript 和 NodeJS : Calling method from different JS file

转载 作者:行者123 更新时间:2023-11-30 12:41:42 25 4
gpt4 key购买 nike

我正在使用 NodeJS 将一个 js 文件包含到另一个文件中。下面我展示了我的两个文件。这两个类都包含两个对象的构造函数。我想从 ClassA 调用 ClassB 中的方法。在 ClassA 中,我需要 ClassB(如下所示),我正在尝试创建 B 类的新实例,并在其上调用 B 类的 get 方法。我收到以下错误:

cB.get();
^
TypeError: Cannot call method 'get' of undefined
at Object.<anonymous> (/home/---/ClassA.js:12:4)

//类A.js

var imported = require('./ClassB');

function ClassA()
{
//....
}

var cA = new ClassA();
var cB = imported.ClassB();

cB.get();

//类B.js

function ClassB() 
{

var myVar = 'test';

function _get ()
{
return myVar;
};

this.get = function ()
{
return _get();
};
}

exports.ClassB = ClassB;

我认为问题在于我如何实例化 B 类的对象。有没有办法解决这个问题?

最佳答案

这是我的答案

A 级

var ClassB = require('./ClassB');
var cB = new ClassB("Test");
console.log(cB.get());

B 类:

function ClassB(myVar){
this.myvar = myVar;
};
ClassB.prototype.get = function(){
return this.myvar;
};
module.exports = ClassB;

命令

$ node ClassA.js 
Test

BV2 级

function ClassB(){
this.myvar = "Test";
};

如果您需要_get 为私有(private)

function ClassB(){
this.myvar = "Test";
};
ClassB.prototype.get = function(){
return _get();
};
_get = function(){
return "Other";
}
module.exports = ClassB;

如果你尝试使用它....

console.log(cB._get());
^
TypeError: Object #<ClassB> has no method '_get'

关于JavaScript 和 NodeJS : Calling method from different JS file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24211396/

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