从全局变量节点js分配局部变量

时间:2018-11-05 15:40:12

标签: javascript node.js

请考虑以下两个文件

global.js

// global.js

a_var = {a: 1};
require('./local.js');

local.js

// local.js

var b_var = (a_var || {});
console.log(b_var);

运行node global.js,将按预期打印

  

{a:1}

现在考虑这两个文件

global.js

//global.js

a_var = {a: 1};
require('./local.js');

local.js

var a_var = (a_var || {});
console.log(a_var);

此打印

  

{}

这是怎么回事? 节点版本-v6.3.0

1 个答案:

答案 0 :(得分:0)

您将用内部范围的变量'a_var'覆盖外部范围的变量'a_var',该变量在求值(a_var || {})时未定义。

阅读this可以扩展JavaScript知识。