Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。
Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。
Node.js is an open-source, cross-playform JavaScript runtime environment. [截取自https://nodejs.org/en/ 官网]
Node.js是一个开源的,跨平台的JavaScript运行环境。
通俗解释:Node.js就是一款应用程序,是一款软件,它可以运行JavaScript。
错误说法:Node.js是一门编程语言。Node.js是新版本的JavaScript。
网页文件构成:HTML控制结构、CSS控制样式、JavaScript控制交互和效果
nodejs运行在服务端
服务器保存写好的HTML、CSS、JavaScript文件;
用户通过URL向服务器发送请求;
服务器将资源返回给浏览器,游览器对资源进行解析,即可展示网站页面。
链接: Node.js官网[https://nodejs.org/en]
Win+R→输入cmd→enter:打开命令提示符工具【命令行工具】
输入node -v 可以监测node.js是否安装成功和查看版本
图中:【C:\Users\Zyf】是命令行的工作目录;node是命令名称,-v是命令参数。
在命令行工具中可运行程序
命令的结构有命令名称和命令参数组成【命令参数可为0个或多个】
命令行如何查看D:/Program Files里的内容?
#切换工作目录到D盘命令 d:
#查看D盘内容命令 dir
#改变文件夹命令 cd 【切换工作目录】
#将工作目录切换到上一级命令 cd ..
说明 | 操作 |
---|---|
切换盘符 | C: D: |
切换工作目录 | cd |
查看目录文件 | dir |
JS核心语法:变量声明、循环控制、对象函数声明等语法
//BOM
console.log(window); //ReferenceError: window is not defined
console.log(history); //ReferenceError: history is not defined
console.log(navigator); //ReferenceError: navigator is not defined
console.log(location); //ReferenceError: location is not defined
//DOM
console.log(document); //ReferenceError: document is not defined
//AJAX
let xhr = new XMLHttpRequest(); //ReferenceError: XMLHttpRequest is not definedconsole.log('one'); //one
setTimeout(() => {console.log('two');}, 1000); //two//global 顶级对象
// console.log(global);
// console.log(globalThis);//ES2020
console.log(global === globalThis); //true
Buffer是一个类似数组Array的对象,用于表示固定长度的字节序列;
Buffer本质是一段固定长度的内存空间,专门用来处理二进制数据。
Node.js中创建Buffer的方式:
//创建一个长度为10字节的Buffer,相当于申请了10字节的内存空间,每个字节的值为0
let buf_1 = Buffer.alloc(10); //Buffer是Nodejs内置模块,全局变量;alloc【分配】是方法
console.log(buf_1); //结果为
//创建一个长度为10字节的Buffer,buffer中可能存在旧的数据,可能会影响执行结果,所以叫Unsafe
let buf_2 = Buffer.allocUnsafe(10);
console.log(buf_2);
//通过字符串创建buffer
let buf_3 = Buffer.from('hello');//字母转换成Unicode表的数字的16进制
console.log(buf_3); //结果为
//通过数组创建buffer
let buf_4 = Buffer.from([105,108,111,118,101,121,111,117]);
console.log(buf_4); //结果为
Unicode表兼容ASCII表
可借助 toString 方法将 Buffer 转化为字符串
let buf_4 = Buffer.from([105,108,111,118,101,121,111,117]);
console.log(buf_4.toString()); //结果为iloveyou
toString 默认是按照utf-8 编码方式进行转换的
Buffer 可以直接通过 [ ] 的方式对数据进行处理
//读取 []
// let buf_3 = Buffer.from('hello');
console.log(buf_3[0]); //结果为104
console.log(buf_3[0].toString(2)); //结果为1101000,真实保存的值为01101000//修改写入
buf_3[1] = 97;
console.log(buf_3.toString()); //结果为hallo//溢出
buf_3[0] = 361; //255(10进制) => 1111 1111(2进制),大于255的舍弃高位的数字 0001 0110 1001(2进制) => 0110 1001(2进制) => 105(10进制) => 69(16进制)
console.log(buf_3); //结果为 //中文
let buf_5 = Buffer.from('你好'); //utf-8的一个中文字符占3个字节
console.log(buf_5); //结果为
注意:
1.如果修改的数值超过255,则超过8位数据会被舍弃
2.一个utf-8的字符一般占3个字节
操作系统: Windows、Linux、MacOS,是一种应用程序,用来管理和调度硬件资源。(需要将操作系统装到计算机的硬盘中)
计算机启动的基本过程:
程序启动的基本过程:
程序一般保存在硬盘中,软件安装的过程就是将程序写入硬盘的过程。
程序在运行时会加载进入内存,然后由CPU读取并执行程序。
进程:【进行中的程序】,进程是程序的一次执行过程。
Windows系统可通过任务管理器查看进程
线程:线程是一个进程中执行的一个执行流。一个线程是属于某个进程的。
一个进程可以有一个或多个线程
查看某一进程下的所有线程:pslist -dmx pid号 【pid号是进程id】
注意:输入pslist,如果命令不被识别,则表示当前电脑上没有安装pslist这个工具,可以到windows官方网站:https://technet.microsoft.com/en-us/sysinternals/bb896682.aspx下载,下载完成后将其解压到C:\Windows\System32路径下即可使用,或者将其配置到环境变量中亦可。