Javascript 中是否有“全局函数”或“主函数”?

Kaa*_*rde 2 javascript node.js

对我来说,Javascript 中的变量很容易理解:如果一个变量不在局部范围内,那么它就是全局对象中的一个字段。

但是 Javascript 命令呢?如果我只是在文件中编写 Javascript 命令(在任何函数之外),那么 Javascript 引擎将如何解释它?

----- file.js -----
console.log('hai:DDD');
--- end of file ---
Run Code Online (Sandbox Code Playgroud)

它会function用命令创建某种“全局”或“主要”类型的对象然后执行它吗?如果有多个带有代码的文件怎么办?

我猜这个问题只适用于 node.js 因为在浏览器中所有 Javascript 代码都是事件处理程序

Mik*_*uck 5

Javascript 没有main函数。它从顶部开始,一直工作到底部。

在 Node.js 中,变量存储在模块范围内,这基本上意味着它们不是全局的。在某种程度上,你可以想象你在 Node.js 中运行的任何代码都是这样包装的:

(function(exports, require, module, __filename, __dirname) {
   ...
})();
Run Code Online (Sandbox Code Playgroud)

但是您似乎对浏览器有误解。并非所有 JS 代码都是浏览器中的事件处理程序。如果您只是在浏览器中运行基本脚本,它也会填充全局范围。

var myGlobal = "I'm available to everyone";
Run Code Online (Sandbox Code Playgroud)