Node.js module.exports更改主体变量

耶稣亚历杭德罗·埃尔南德斯·塞哥

当我调用该方法时,即使我将分配另一个变量,变量的值也会更改。

app.js

var methods = require('./module');
var ObjectExample = {};
ObjectExample['name'] = 'NODE';
ObjectExample['array'] = [];
ObjectExample['array'].push(1);
methods.test1( ObjectExample );
methods.test2( ObjectExample );

module.js

module.exports.test1 = function( ObjectExample ){
    var parameters = ObjectExample;
    parameters['name'] = 'NODE.JS';
    parameters['array'][0] = 2;
};

module.exports.test2 = function( ObjectExample ){
    console.log( ObjectExample ); // {name:'NODE.JS', array:[2]}
};

为什么我可以在模块test2中执行此操作。

{名称:'NODE',数组:[1]}

猴子的见识

这是您要传递给两个函数的同一对象。因此,当您在一个模块中对其进行更改时,此对象的所有迭代都将永久更改。您可以克隆此对象以避免这种行为。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Node.js module.exports父/子变量参考

Node.js:通过module.exports在模块之间共享变量

如何在Node.js中引用module.exports内部的变量

在Node.js中声明多个module.exports

Node.js中的异步module.exports依赖项

Node.js-使用module.exports作为构造函数

Node.js中的module.exports与export

node.js中的不同module.exports模式

node.js中module.exports =函数的含义

Node.js module.exports函数从MongoDB返回数组

通过node中的module.exports获取变量

Node-Express (module.exports) 变量未定义

如何使用module.exports和require()导出Node.js中的类和超类?

IntelliJ检查说node.js不存在module.exports

Node.js Module.Exports未定义的空对象

Node.js和ES6中的module.exports与export默认

如何在Node JS中使用module.exports导出数组?

Node.js module.exports的用途是什么,如何使用它?

将参数传递给node.js中的module.exports

Node.js-WebStorm智能感知两次声明module.exports的影响

如何从AWS Lambda(Node.js)的处理程序中调用module.exports

module.exports 中的 Node.js 我的 var 不够完善

如何在 node.js 中正确使用 module.exports?

导入模块,用于node.js中module.exports的所有方法

如果没有分配给 module.exports,Node.js 'require()' 会返回什么

如何使用Azure Functions和node.js在module.exports之外发出axios请求?

Node.js Bodyparser返回未定义的主体变量

在node.js中输出之前更改响应主体

Node.js-修改node_module内容