发布时间:2022-11-14 13:30
目录
一、ES6新增
1、基本数据类型
2、复杂数据类型
--Set
--Map
二、设计模式
1、创建型模式
2、结构型模式
3、行为型模式
三、模块化编程
1、前端模块:
2、AMD模块化
3、CMD模块化
4、ES6模块化
--Symbol
语法:let s = Symbol('描述信息')
含义:表示唯一值,会自动生成一个唯一的值
场景:自己封装第三方包共他人使用
使用第三方包
特点:
1、存储一系列无序数据的集合
2、数据不能重复
语法:
let set1 = new Set()
let set2 = new Set([])
属性:
1、size:元素个数
方法:
1、add('添加的元素'):用来向该数据类型中添加数据
2、delete('删除的元素'):删除数据类型中某一个元素
3、clear():清空数据类型中的所有数据
4、forEach:遍历Set数据结构
5、...展开运算符:可以实现Set转Array
重点特性:
数据不重复,实现数组去重
特点:
1、存储key - value值对的集合
2、key任意类型
语法:
let map = new Map()
let map = new Map([[key1,value1],[key2,value2]....])
属性:
size:返回元素个数
方法:
1、set(key,value):用来向该数据类型中添加数据
2、get(key):用来向该数据类型中获取数据
3、delete(key):删除数据类型中某一个元素
4、clear():清空数据类型中的所有数据
5、has(key);判断该数据类型里面是否有该值
概念:软件开发人员在软件开发过程中面临的一般问题的解决方案
分类(23中经典设计模式):
--单例模式
概念:保证在整个应用程序中只有一个实例对象存在
语法:
创建对象之前判断创建的对象是否存在,如果不存在创建,如果存在直接复用
static getInstance(){
if(this.instance == null){
this.instance = new Person()
}
retrun this.instance
}
方法:
static 静态方法(类方法),可以通过类名直接调用Person.getInstance()
--观察者模式
概念:对象与对象之间通讯的关系
概念:将一个复杂的程序根据一定的规则封装成几个块
块的内部数据是私有的,只有向外部暴露一些接口,与外部其他模块通信
每个js文件就是一个模块
util.js模块
1、私有
2、暴露属性和方法
3、其他的模块引用之后可以使用
实现模块化
1、commonjs模块化(同步加载)
--每个js文件就是一个模块
--a.js模块
--暴露属性或方法
module.exports.模块名 = 变量或方法函数
简写方式:
module.exports = {
模块名:变量或方法函数
模块名:变量或方法函数
....
}
--引用
let 变量名 = require(要引用的模块地址)
变量名.模块名
变量名.方法函数()
--使用环境
后端Ajax
--
--
--暴露模块属性或方法
语法:export{属性或方法}
--引入模块
import{导入的属性和方法} from '要引用的模块地址'
--前端引用
import{导入的属性和方法} from '要引用的模块地址'
--只暴露一个对象和函数时
export default 对应的数组
引用:inport 自定义名字 form '要引用的模块地址'
使用:自定义名字.
PyTorch】常见错误: RuntimeError:one of the variables needed for gradient computation has been modified
Two-Stream Convolutional Networks for Action Recognition in Videos双流网络论文精读
hadoop核心组件——HDFS系列讲解之HDFS的高级使用命令
Python+Selenium使用Page Object实现页面自动化测试
测开高阶技术- Docker/环境布置/容器 讲清楚了,全套教程