NodeJS 全局变量不可重新分配

我正在尝试对使用 JavaScript 库的代码进行单元测试,如果它不存在,则设置一个全局变量。库使用的模式是:


var GLOBAL_VAR = GLOBAL_VAR || {}


这在浏览器世界中有效,但是当我在 NodeJS 中执行代码时,它不起作用。问题归结为:


var myGlobal = 'CORRECT';

console.log('Prints CORRECT', myGlobal || 'WRONG');

(function () {

  // Why does this print WRONG?

  var myGlobal = myGlobal || 'WRONG';

  console.log('Prints WRONG', myGlobal);

}).call(this);


(function () {

  console.log('Prints CORRECT', myGlobal || 'WRONG');

}).call(this);

为什么第一个函数打印错误而第二个函数打印正确?


暮色呼如
浏览 111回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript