Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每次调用一个模块时,非全局变量_Javascript_Arrays_Node.js_Multithreading_Variables - Fatal编程技术网

Javascript 每次调用一个模块时,非全局变量

Javascript 每次调用一个模块时,非全局变量,javascript,arrays,node.js,multithreading,variables,Javascript,Arrays,Node.js,Multithreading,Variables,这些变量位于module.exports文件中,当我多次调用该模块时,每个实例共享这些值。我不希望他们共享值,每次我调用模块时,我希望每次调用都有自己的循环号、original、newprod等。。就像多线程一样 我在Mac电脑上打瞌睡 cycle=0; var原始=[]; var newprod=[]; 变量proxylist=[] 新编辑------ 我在调用时添加了一个新的构造函数,但它不起作用。不确定是什么问题,他们仍然在共享变量。这是我的密码 config.sites.forEach(

这些变量位于module.exports文件中,当我多次调用该模块时,每个实例共享这些值。我不希望他们共享值,每次我调用模块时,我希望每次调用都有自己的循环号、original、newprod等。。就像多线程一样

我在Mac电脑上打瞌睡

cycle=0;
var原始=[];
var newprod=[];
变量proxylist=[]

新编辑------

我在调用时添加了一个
新的
构造函数,但它不起作用。不确定是什么问题,他们仍然在共享变量。这是我的密码

config.sites.forEach(函数(站点){ var mod=require(
/src/monitor
).init, mod1=新mod(现场);
});

如果需要防止重写变量,则应。作用域可以是函数或类

对于您的情况,您可以创建一个类来维护每个实例中隔离的变量,然后创建方法来更新它们的值


另外,从es2015开始,就像在大多数语言中一样。

你不能让你的模块导出一个函数吗?我导出了,但我试图使函数中的变量对每个调用都是唯一的。模块不被调用,而是被加载。一次-只有一个模块。如果你想调用一些东西,把代码放在一个函数中。谢谢,我把它们限制在一个作用域(函数)内了。但是我多次调用该函数。我明白了,但是您是否每次调用该函数时都尝试保存结果?var a=something(),然后使用我放的链接中的方法进行访问:var originalA=a.getOriginal()?