<script>constsum=(...args)=>{let total =0;
args.forEach(value=> total += value)return total;};
console.log(sum(10,20));
console.log(sum(10,20,30));</script>
<script>// 假设计时器是ajaxsetTimeout(function(){// 假设a是响应的结果var a =10// 假设a是第二次请求的参数setTimeout(function(){var b =20// 第三个请求 需要参数bsetTimeout(function(){},2000)},2000)},2000)</script>
promise的使用
<script>//创建promise的对象//在创建promise对象的时候,需要传入一个回调函数,//这个回调函数会产生两个参数//这两个参数是两个函数resolve()表示成功 reject()表示失败const p =newPromise(function(resolve, reject){setTimeout(()=>{let a =10if(a ==10){//表示成功resolve(++a)}else{//表示失败
a =20reject(a)}},2000)})const p2 =newPromise((resolve,reject)=>{//then 表示成功//Cath 表示失败
p.then(a=>{
console.log(a);//11if(a ==11){resolve(++a)}else{reject(a)}}).catch(error=>{
console.log(error);})})</script>
promise.all的使用
<script>const p1 =newPromise((resolve,reject)=>{let a =10if(a ==10){resolve(a)}else{reject('错误1')}})const p2 =newPromise((resolve,reject)=>{let b =20if(b ==20){resolve(b)}else{reject('错误2')}})//当两个请求同时成功才会成功,有一个失败则请求失败
Promise.all([p1,p2]).then(res=>{
console.log(res);}).catch(err=>{
console.log(err);})</script>
set
<script>//set let s1 =newSet()
console.log(s1);let s2 =newSet([10,20,30,30,20,10])//返回集合的元素个数
console.log('size:'+s2.size);//增加新元素
console.log(s2.add(5));//删除元素 传入某一个元素
console.log(s2.delete(20));//has 是否包含
console.log(s2.delete(20));//清空集合// console.log(s2.clear());
console.log(s2);for(const iterator of s2){
console.log(iterator);}</script>
数组去重
<script>const a =[10,20,30,40,10,20,30,8,5,7]const b =newSet(a)
console.log(b);//转化为数组const c = Array.from(b)
console.log(c);</script>