【写在前面】这是一篇关于node.js的一些基础知识简介,或者说是帮助理解和学习node.js的一些铺垫类知识。
1.node.js:是一款应用程序,是一款软件,可以运行javascript
node.js不是一种语言,也不是新版的javascript
2.node.js的作用:开发一些应用程序
开发服务器应用:日常网站的开发模式
开发工具类应用:Webpack、Vite、Babel
开发桌面端应用:VSCode、Figma、Postman,都是基于electron框架开发,electron基于node.js开发
3.下载和安装node.js
官方下载:https://nodejs.org
中文下载:https://nodejs.cn,官网下载慢的时候可以到这里。
安装简单,略 ~
4.认识命令行工具
win+R,输入cmd,调出命令行工具,或者称为终端,再输入需要执行的命令。 (ios系统使用command+R)
5.命令的结构
格式:命令名称 参数1 参数2 ... ,命令名称和参数、参数和参数之间以空格隔开。
eg: chrome www.baidu.com/
eg: chrome www.baidu.com/ www.jd.com/
常用的命令:
| 目的 | 命令 |
|---|---|
| 切换盘符 | C: D: |
| 进入文件夹 | cd 文件夹名 |
| 查看目录文件 | dir |
| 返回上级 | cd .. |
6.使用node.js运行javascript代码
运行:命令行输入:node ***.js
node.js编码注意:
- 不能使用BOM和DOM的API,但是可以使用console和定时器API
- 浏览器中的javascript:核心语法:ECMAScript;Web API:DOM、BOM、AJAx、Storage、
console、定时器、alert/confirm... - node.js中的javascript:核心语法:ECMAScript;Node.js API:http、fs、path、url、util、
console、定时器等...
- 浏览器中的javascript:核心语法:ECMAScript;Web API:DOM、BOM、AJAx、Storage、
- 顶级对象是global而不是window,ES2020中globalThis === global,也可以用globalThis来访问顶级对象
7.Buffer:缓冲区,是一个类似于Array的对象,表示固定长度的字节序列。换句话说,就是一段固定长度的内存空间,用来处理二进制数据。
-
Buffer特点:大小固定无法调整;性能好,可以直接操作计算机内存;每个元素的大小为1字节(8bit)
-
创建Buffer对象:
1. Buffer.alloc(size) size: 创建缓冲区的大小,单位为字节。 创建缓冲区,并确保缓冲区中的数据是安全的。即每次创建前都会清空数据。 2. Buffer.allocUnsafe(size) size:同上 创建缓冲区,但不保证缓冲区中的数据是安全的,可能包含一些无效的数据。每次创建前,不会清空数据。但是创建速度快。 3. Buffer.from(array) array:一个数组,可以是数字、字符串、Buffer等 将一个数组、字符串等转为Buffer对象。 -
Buffer操作与注意点
- Buffer.toString() 将缓冲区转换为字符串
const buf = Buffer.from([105,108,111,118,101,121,111,117]); console.log(buf) //<Buffer 69 6c 6f 76 65 79 6f 75> console.log(buf.toString()); // 输出:iloveyou- 读和写
//读 const buf = Buffer.from('iloveyou'); console.log(buf[0]); // 输出:105 console.log(buf[0].toString(2)); // 注意这里的toString()是转化进制 //写 buf[0] = 108; console.log(buf); //<Buffer 6c 6c 6f 76 65 79 6f 75> console.log(buf.toString()); //lloveyou- 溢出
//一个字节的最大值为255,超过255会溢出,转化成二进制后,超出部分会被截断。 buf[0] = 361; // 361 => 0001 0110 1001,截取后为0110 1001,转成16进制是69 console.log(buf); //<Buffer 69 6c 6f 76 65 79 6f 75>- 中文
const buf = Buffer.from('你好'); //中文是UTF-8的中文,一个字符占3个字节 console.log(buf); // <Buffer e4 bd a0 e5 a5 bd> 6个字节
8.计算机基础知识
-
计算机基本组成:CPU、内存、硬盘、显卡、外设
-
程序运行的基本流程
程序一般保存在硬盘中,软件安装的过程就是将程序写入硬盘的过程,程序在运行时会加载进入内存,然后由CPU读取并执行程序。
- 操作系统:Winsows、Linux、MacOS。也是一种应用程序,用来管理和调度硬件资源。例如操作系统可以决定让CPU执行哪一个应用程序,cpu可以对内存资源进行管理等。
- 应用程序如何运行?双击后,应用程序会先被加载到内存,然后由操作系统调度CPU来执行应用程序中的指令,遇到视频信号交给显卡,显卡处理后输出的显示器,遇到音频信号就交给声卡,声卡处理后输出到外部播放设备。
9.进程和线程
- 进程:进行中的程序,是程序的一次执行过程。windows中可以通过任务管理器查看当前运行的进程。
- 线程:是一个进程中执行的一个执行流,一个进程可以有多个线程。
【写在后面】本文的目的是简介一些关于node.js或者有助于后续node.js学习的一些基础知识,文章是自己的学习笔记,学习视频连接: https://b23.tv/rXRE9Cx。
PS:最近找工作不顺利,要么机会太烂,要么就是被吊着卡进程,emm...不想将就,之前一直想学但是没时间学的,那就安排上吧。静下心做好知识储备,静待春天的到来吧~