参见英文答案 >
‘this’ different between REPL and script 2个
在浏览器上,全局对象是窗口对象,在nodejs中,全局对象是全局对象.
当我使用终端上的nodejs运行此代码时,我有这个输出
console.log(这= = global)===>这回报是假的
然后使用nodejs的交互模式
>这= =全球
真正
但是在浏览器上,console.log和这个===窗口都返回true
有什么不同?
最佳答案 我可以给你一部分答案:
In browsers, the top-level scope is the global scope. That means that
in browsers if you’re in the global scope var something will define a
global variable. In Node this is different. The top-level scope is not
the global scope; var something inside a Node module will be local to
that module.
https://nodejs.org/api/globals.html#globals_global
但我不知道为什么顶级范围是交互模式的全局范围.