Node.js全局变量
JavaScript
JavaScript由以下几部分组成:
- ECMAScript:JavaScript的核心语言部分,规定了语法、类型、语句、关键字、保留字、操作符、对象等。
- DOM(文档对象模型):提供了访问和操作网页内容的方法和接口。
- BOM(浏览器对象模型):提供了与浏览器交互的方法和接口,例如弹出新窗口、移动、缩放和关闭窗口等。
Node.js和浏览器都是JavaScript的运行环境,但它们之间有一些区别。
- 全局对象:在浏览器中,全局对象是window,而在Node.js中,全局对象是global。
- API:浏览器和Node.js都提供了一些API,但它们之间的API有所不同。例如,浏览器提供了window.document对象,而Node.js提供了fs模块来操作文件系统。——由于nodejs中没有DOM和BOM,除了这些API,其他的ECMAscriptAPI基本都能用
- 模块系统:在浏览器中,模块系统通常使用<script>标签来加载脚本文件。在Node.js中,使用require()函数来加载模块。
- 异步编程:在浏览器中,异步编程通常使用回调函数来处理异步操作。在Node.js中,除了回调函数,还可以使用Promise、async/await等方式来处理异步操作。
浏览器环境中定义全局变量
| 1 | var global = 'global' | 
Node环境定义全局变量
| 1 | // globalVariable.js | 
CommonJS是基于运行时的同步加载,要注意代码的执行顺序
| 1 | // main.js | 
Node.jsv18以后可以使用globalThis关键字定义全局变量,在node环境和浏览器环境下都可以运行。
Nodejs的内置全局API
__filename 当前文件的绝对路径
| 1 | console.log(__filename); // /Users/xiuji/Desktop/workplace/own/Node/main.js | 
__dirname 当前文件所在文件夹的绝对路径
| 1 | console.log(__dirname); // /Users/xiuji/Desktop/workplace/own/Node | 
setTimeout 定时器
| 1 | setTimeout(() => { | 
setInterval 循环定时器、 clearInterval 清除循环定时器
| 1 | let num = 0; | 
process 进程对象
process.argv :这是一个包含命令行参数的数组。第一个元素是Node.js的执行路径,第二个元素是当前执行的JavaScript文件的路径,之后的元素是传递给脚本的命令行参数。
process.env: 这是一个包含当前环境变量的对象。您可以通过process.env访问并操作环境变量。
process.pid: 这个属性返回当前进程的PID(进程ID)。
process.platform: 获取当前系统平台
process.exit(): 退出当前进程
process.on(): 监听事件
| 1 | // process 进程对象 | 
Buffer 缓冲区对象
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Xiuji957!


