一、symbol类型
1.引入原因:ES5的对象属性名都是字符串,很容易造成属性名冲突
symbol表示独一无二的值:
2.创建symbol:
let syml=symbol(描述符:去描述当前symbol表示什么意义)
二、set类型
1.作用:存储无序数据的集合
2.创建:let set=new Set()
let set = new Set([1,2{name:'jack'},function()]) //存储的值可以是任意的东西
3.常用的属性和方法:
1>size:用来获取该数据结构中有多少个数 set.size
2>add:用来追加元素 set.add()
3>delete:用来删除数组中某个元素 set.delete()
4>clear:清空所有元素 set.clear()
5>forEach:遍历元素 set.forEach(function(item){})
6>…展开运算符:获取set里的数据 set转数组
set转数组:集合转数组
function test(){
let set = new Set([10,20,30])
let arr=[...set]
}
4.特点:集合set中的元素不能重复
5.应用:数组去重
function test(){
let arr = [10,20,10,30,20]
let set = new Set(arr) //此时已经去重成功
arr = [...set] //转成数组去重成功
Map:复杂数据类型
1.作用:是一个数据集合,是一个很类似于对象object的数据集合
2.Map存储的数据是key/value形式,key可以是任意类型
3.创建:let map = new Map()
let map = new Map([‘name’,’jack’],[100,18])
4.常用的属性和方法:
1>set:向集合中添加数据:map.set(ture,’成立’)
2>get:获取元素:map.get(ture)
3>delete:删除元素:map.delete(ture)
4>has:判断集合中是否有元素:map.has(ture)
5.特点:查找存储在map中的数据,可以不用遍历,根据key直接获取
value=map.get(key)
//数组转map
let map = new Map()
arr.forEach(item=>{
map.set(item.value,item,name)})
for-of循环:遍历数组,字符串,Map
语法:for(let v of arr){}
如果是遍历数组,v就表示数组元素,遍历字符串,v就表示字符
function test(){
let arr=[10,20,30]
for(const v of arr){
console.log(v)} //遍历出数组元素
模块化语法:import/export
1.模块化:每个js文件都可以看作一个模块,每个js模块中的内容与其他模块相互独立
2.模块间通讯:
1.第一种:
a.js暴露模块:export变量或方法名
b.js引入模块:import{变量,方法} from ‘a.js’
index.html:<script type=”module”>import{变量,方法} from ‘a.js'</script>
2.第二种:
export default{name:’jack’}
import A from ‘c.js’
//直接在需要暴露的方法前加export
let num = 100
//暴露
export const getMax=(m,n)=>{
let max=m
if(n>max){max=n}
//导入/引入
<script>import{getMax}from 'a.js' //暴露方式
let max = getMax(20,30) //调用模块化里面的函数
</script>
//显示最大值
const spanEle=document.querySelector('span')
spanEle.innerHTML=Max
js错误处理机制:
1.javascript引擎负责执行javascript代码,如果发现错误代码,js引擎会向上抛出异常错误,如果异常错误没有处理语句,继续向上抛,直到系统处理
2.系统处理方式:终止程序执行,在控制台显示异常错误信息
3.异常错误的分类:运行时的错误/逻辑错误
SyntaxError—–>语法错误
ReferenceError—–>引用错误
TypeError—–>类型错误
RangeErrorr—–>值超出有效范围时发生的错误
4.自己捕获异常进行处理:
try{
//可能发生的异常
}catch(error){console.log(error) //自己打印异常}finally{不论程序有无出错都执行}
查询数组中满足条件的元素的索引号:
let index = ProductList.findIndex(item=>item.number==id) //遍历数组
版权声明:本文为m0_68488342原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。