Node开发
左耳说你很傻
这个作者很懒,什么都没留下…
展开
-
Node开发(十)加密和jwt
一、加密Nodejs内置crypto模块来实现的加密功能,例如:md5,sha1,AES和RSA等加密,均可以通过该模块实现1)引入模块let crypto=require('crypto');//引入加密模块2)调用常见方法实现加密createHamc(算法,秘钥)创建并返回一个hmac对象,也就是通过给定的加密算法和密钥生成的加密图谱update(data) 通过提供的数据来更新对象digest(encoding) 对数据进行加密并且指定数据的编码 ,例如:binary/ba原创 2020-09-27 15:38:12 · 307 阅读 · 0 评论 -
Node开发(九)Node入门
一、进制的概念1)计算机如何认识字母:通过ascii码对照表2)计算机怎么识别汉字:utf8编码3)ascii使用的是8个二进制位来表示,问,3个或4个二进制位行不行?答:不行,因为3个二进制位只能表示8个状态,4个二进制位只能表示16个状态,都不足以存储128。个字符。8个二进制位可以有256中变化,足以存储128个字符;8个进制位是计算机中用于表示存储的最小单元——字节(byte)1PB = 1024TB1TB = 1024GB1GB = 1024MB1MB = 1024KB原创 2020-09-26 15:10:27 · 322 阅读 · 0 评论 -
Node开发(八)Class类
在ES5使用构造函数来创建对象(一直在使用函数来模拟对象)在ES6中,引入class关键字,可以使用class来定义类一、Class简介1.什么是类?类是用来描述具有一些共同的特性和行为的事物类由属性和方法组成2.什么是对象?对象是类的实例3.class class Student { constructor(no, name, age) { this.no = no; this.name = name;原创 2020-09-26 15:02:59 · 2819 阅读 · 0 评论 -
Node开发(七)async和await
ES2017年引入async函数,能够使异步操作更加简单。什么是async函数?async函数是generator函数的语法糖。async函数就是去掉generator函数中*,替换为了asyncasync函数经常搭配await语句使用。await其实就是替代yied表达式.aync和await,就是一种基于promise的generator的语法糖。一般使用async…await来优化promise的使用。一、async1)async是用来修饰函数的2)修饰后的函数,变成了异步函数;这个函原创 2020-09-26 14:59:17 · 880 阅读 · 0 评论 -
Node开发(六)Promise
Promise是一种异步编程的解决方案。现在经常使用回调函数来解决异步通信(传参)的问题,若回调函数层次过深,就会出现回调地狱问题(逻辑不够清晰,可维护性差)Promise是一个对象,通过new Promise来创建对象1.创建Promise对象1)Promise对象需要接收一个函数作为参数,这个作为参数的函数有两个参数,resolve,reject2)resolve和reject本身也是函数let p=new Promise((resolve,reject)=>{ });P原创 2020-09-26 14:48:26 · 320 阅读 · 0 评论 -
Node开发(五)Iterator和generator
一、IteratorJavaScript到目前为止有四种集合类型,数组、对象、Map、Set。这四种集合的遍历方案是不一致的,数组、Map和Set 可以使用forEach 和for循环 来进行遍历,对象需要使用for …in 遍历。若数据存储过程中,不是使用单一的集合而是使用这几种的交叉来完成的,例如:数组中有对象,对象中Set,Set中有map…,这时,就不能使用统一的遍历方式来进行数据遍历。能不能提供一种统一的遍历方案,来对四种集合进行遍历?Iterator(遍历器、迭代器),它的诞生就是为原创 2020-09-26 14:39:19 · 136 阅读 · 0 评论 -
Node开发(四)Symbol、Set和Map
一、Symbol(了解)Symbol是ES6中新增的一种数据类型(原始数据类型)常见的七种数据类型:number、string、boolean、null、undefined、Object、SymbolSymbol是一个独一无二的值也就是说使用同一个代码产生的两个symbol类型也是不相同的let s=Symbol();console.log(s);//Symbol()let s1=Symbol();console.log(s==s1);//false 两个值不想等 独一无二Symb原创 2020-09-26 14:16:29 · 635 阅读 · 0 评论 -
Node开发(三)ES6扩展
一、字符串扩展1.模板字符串,允许通过使用反引号来定义字符串 ``模板字符串的特性:1)支持换行 2)内部支持js表达式 在${}中,可以支持js表达式//使用es6编辑页面//将后台数据展示到页面的ul中var oUl = document.querySelector('ul');let { data } = obj;//解构data.forEach(function (item) { // console.log(item); oUl.innerHTML += `原创 2020-09-26 14:00:33 · 130 阅读 · 0 评论 -
Node开发(二)解构赋值
在ES6中,允许通过一定的模式,将对象和数组中的内容提取出来,赋值给变量,这个过程称为解构赋值。一、解构赋值的概念回顾一下ES5中是如何提取数组的数据ES6中的解构赋值,核心:模式匹配1)解构赋值,需要有一个=(赋值符号)2)解构赋值的=两变的模式是一致(都是对象,或都是数组)3)=的右边是要被解构的值,左边是变量解构的分类:1)完全解构2)不完全解构(解构的缺省)3)解构失败4)解构的默认值二、数组的解构赋值数组结构的特点:1.数据有序 2. 数组中的元素有索引 3. 数组是一个原创 2020-09-26 11:24:42 · 565 阅读 · 0 评论 -
Node开发(一)let和const
一、ES6简介ES6是ECMAScript6 的简写ES52015年发布了ES6,ES20152016 ES20162017 ES20172018 ES20182019 ES20192020 ES2020…1.ES与js的区别?ES是JS的规格,js是ES的实现2.ES5与ES6的关系?ES6是下一代的JavaScript,新一代的JavaScriptES6相比于ES5的语法更加的简洁,严谨ES6相比于ES5,它并没有修改ES5的语法(全方位兼容ES5),新原创 2020-09-26 11:15:56 · 457 阅读 · 0 评论