节点js窗口对象

时间:2015-07-01 15:38:42

标签: javascript node.js this

在浏览器上,全局对象为select REPLACE(col, "\n", "\\n") from table ,在window object中,全局对象为nodejs

当我在终端上使用global object运行此代码时,我有了这个输出

nodejs ===>这返回错误

然后使用nodejs的交互模式

console.log(this === global)

>this === global

但在浏览器上,trueconsole.log都会返回this === window

有什么区别?

1 个答案:

答案 0 :(得分:2)

我可以给你答案的一部分

  

在浏览器中,顶级范围是全局范围。这意味着   在浏览器中,如果你在全局范围内var会定义一个   全局变量。在Node中,这是不同的。 顶级范围不是   全球范围; Node模块中的var将是本地的   那个模块。

https://nodejs.org/api/globals.html#globals_global

但我不知道为什么顶级范围是交互模式的全球范围。