js终于结束咯,可以暂时告一段落了,但还是得时不时回顾一下,不然像今天有道要用do while循环做的题,结果都忘了怎么写循环语句了,毕竟js可以说是前端最重要之一,之后继续修炼前端下一步啦,Nl!
一.ES6
ECMAScript6 JS的第6套标准规范
ES2015 .. ES2021
1.块级作用域
let声明的变量不允许重复声明,进入到一个暂时性的死区(会提升,只是不允许访问)
大括号{ }之间的语句块就是块级作用域,例如:if、else、for...块级作用域下let和const声明的都是局部的,不允许外部访问
2.参数增强
可以给参数设置默认值
function fn(a,b,c=0){ b=b||0; //ES6之前的设置方式}
3.箭头函数
()=>{ }
简化了匿名函数的写法,不等价于匿名函数
sort( (a,b)=>{ return a-b;} ) |
---|
如果箭头函数的函数体中只有一行并且是return形式,可以继续简化 sort( (a,b)=>a-b )
4.模板字符串
简化了字符串的拼接
模板字符串 ${JS表达式} |
---|
二.Node.js概述
Node.js是一种JS解释器,运行在服务器端
1.对比JS
(1)JS运行在浏览器,存在多款浏览器,有代码兼容性问题;Node.js运行在服务器端,只有一种解释器,不存在代码兼容性问题
(2)都有共同的内置的对象、自定义对象,不同的宿主对象
(3)JS用于开发浏览器端交互效果,Node.js用于服务器端开发,例如操作数据库、调用其它服务器
2.网址
www.nodejs.cn 中文版
3.运行
(1)脚本模式
node 拖拽文件 回车
(2)交互模式
node 回车 进入交互模式
两次ctrl+c 或者 一次ctrl+d 退出交互模式
4.特点
单线程处理逻辑,支持数万个并发连接
三.全局对象
1.global
检测变量或者函数是否为全局的
在Node.js下,每个js文件不是全局作用域,可以防止全局污染 |
---|
浏览器下全局对象名称:window
2.console
控制台对象,用于输出到控制台
console.log(1); //日志
console.info(2); //消息
console.warn(3); //警告
console.error(4); //错误
console.time() //开始计时
console.timeEnd() //结束计时
开始计时和结束计时的值要保持一致
3.process
进程对象,计算机上任何的应用程序都是有对应的进程,会占用一定的资源
process.arch 查看CPU的架构
process.platform 查看服务器端操作系统
process.version 查看服务器端Node.js版本号
process.pid 查看当前Node.js的进程编号
process.kill() 结束指定编号的进程
4.Buffer
缓冲、缓存
缓冲区:是内存中一块区域,用于临时存储数据
var buf = Buffer.alloc(5,'abcde') //创建Buffer,分配大小为5个字节,每个汉字占3个字节buf.toString() //将Buffer数据转为字符串 |
---|
四.模块系统
模块:就是一个独立的功能体,每个文件就是一个模块
module.exports 是模块暴露的对象,默认是一个空对象
require() 是一个函数,用于引入其它模块,得到暴露的对象