我正在尝试对使用 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);为什么第一个函数打印错误而第二个函数打印正确?
添加回答
举报
0/150
提交
取消