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!