当前位置: 首页 > 网络应用技术

您对全球范围感到头晕吗?

时间:2023-03-07 02:36:50 网络应用技术

  让我们从段落开始。

  以下代码通过const和var定义了name1和name2,然后在new函数()中访问name1和name2。

  该代码在VSCODE终端和浏览器控制台中运行,结果不同。

  VSCODE终端:

  在VSCODE终端中运行,而错误参考器:Name1未定义

  浏览器控制台:

  在浏览器控制台中,NAME1和NAME2都可以正常访问。

  为什么相同的代码在不同的地方运行?

  目前,我们需要返回函数构造函数的定义:

  函数构造函数创建仅在全局范围中执行的函数。

  换句话说,通过娱乐构造函数创建的函数只能在全局范围中执行。上面代码的结果具有不同的执行结果,因为不同执行环境的全局范围(全局范围)不同。

  下面,让我们看一下Node.js和浏览器环境的全局范围。

  让我们首先查看node.js文档中的描述:

  Node.js模块将是该模块的本地。

  换句话说,node.js和浏览器中的全局范围之间存在显着差异。

  Console.log(此)在不同方案中的性能:

  从上面的示例中,我们可以看到这是空文件中的一个空对象,这是不需要函数中的全局对象。

  接下来,让我们看一下这个示例:

  从上面的示例中,我们可以看到:

  与node.js相比,浏览器的全局范围更容易理解。浏览器的全局范围是窗口对象。

  查看特定的代码执行结果:

  从上面的代码中,我们可以在浏览器控制台中看到:

  与var变量不同,全局常数语句语句不会成为窗口对象的属性。

  简要摘要,node.js和浏览器之间的差异是:

  这也是一开始代码执行不一致的结果的核心原因。