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);

Почему первая функция печати неправильно, а второй печатает функция правильно?

+1
2019-09-18 23:24:36
источник
0 ответов

Посмотрите другие вопросы по меткам