ES6
文章平均质量分 50
Kratial
前端学习,删繁就简
展开
-
Promise.all如果其中之一失败,怎么能够拿到其他成功的结果
作用:Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。参数:由多个Promise实例组成的数组p的状态由p1、p2、p3决定,分成两种情况。(1)只有p1、p2、p3的状态都变成fulfilled,p的状态才会变成fulfilled,此时p1、p2、p3的返回值组成一个数组,传递给p的回调函数。(2)只要p1、p2、p3之中有一个被rejected,p的状态就变成rejected,此时第一个被reject的实例的返回值,会传递给p的回调函数。原创 2023-11-22 20:02:08 · 1895 阅读 · 0 评论 -
使用Generator处理二叉树的中序遍历
【代码】使用Generator处理二叉树的中序遍历。原创 2023-11-20 15:51:23 · 130 阅读 · 0 评论 -
for...of与for...in
1.数组的键名是数字,但是for…in循环是以字符串作为键名“0”、“1”、“2”等等。in循环不仅遍历数字键名,还会遍历手动添加的其他键,甚至包括原型链上的键。in循环主要是为遍历对象而设计的,不适用于遍历数组。3.某些情况下,for…in循环会以任意顺序遍历键名。in不遍历以Symbol值为键名的属性。of遍历的是具有数字索引的属性。1.对于普通的对象,for…原创 2023-11-19 19:05:06 · 158 阅读 · 0 评论 -
ES6模块化中export和export default之间的区别
exportexport default在一个文件中可以有多个export在一个文件中只能有一个export default导出的信息,需要通过{}来接收default单独导出的信息,可以通过 import ”用户起的变量名“ from ”具体路径“关于第二条的对比,举例如下://test.jsexport const a=1;var m="hello";export default m;//index.jsimport m from "./t...原创 2020-11-24 22:54:29 · 301 阅读 · 0 评论 -
proxy与Object.defineProperty
1.proxy名称:代理作用:外界访问目标对象时,添加的一层拦截。如何使用:(Proxy 支持的拦截操作一共 13 种,当handler={}时,就相当于正常的对象操作流程,没有拦截处理这一层)。var obj={ name:"易洋千玺", skill:"can do anything"}var handler={ set(target,key,value){ target[key]=value; }, get(target,key){ if(key=="na原创 2020-11-15 15:46:54 · 215 阅读 · 0 评论 -
关于class类与ES5中的构造函数的对比
1.ES5构造函数问题:继承中父类与子类的书写是否有先后顺序的要求:没有function Son(name){ this.name=name?name:"tony";}function Father(tag){ this.tag=tag?tag:"no useful data"; this.skill=function(){console.log("try everything you wantt");}}Father.prototype.do=function(){ c原创 2020-11-11 23:24:14 · 227 阅读 · 0 评论 -
常见的操作字符串的方法
方法参数返回值作用例charAt()索引值返回索引所处位置的字符用于获取指定位置的字符var s="hello"; var a=s.charAt(0) //a的值是htoLowerCase()无参数转换后的字符串把字符串转换成小写省略toUpperCase()无参数转换后的字符串把字符串转换成大写省略substr ()有两个参数,第一个必须选,表示开始的下标,第二个可选,表示要截取的数量返回截取的字符串获取从指定下表开始,固定数目的字...原创 2020-10-29 18:19:39 · 276 阅读 · 0 评论 -
var,let ,const 的区别
1.var :体现在变量和函数表达式方面:(1)会发生预解析,函数的优先级高于变量,故而,函数可以提前调用。(2)声明的变量会被后面同一作用域中的同名变量所覆盖掉.(3)属于函数体作用域 //实例一: console.log(a); a(); var a=1; function a(){ console.log("helllo"); }; console.log(a); a();/*上述代码的解析过程是:var a;function a(){...};con.原创 2020-10-29 16:42:14 · 124 阅读 · 0 评论 -
Promise.all的应用场景
1.问题:同时发送请求p1,p2,要求两个同时有返回结果时再进行处理。2.实现:(借助于Promise.all)//1.两个请求写成promise的形式var p1=(function (){ return new Promise((resolve,reject)=>{ setTimeout(()=>{ var data='1'; resolve(data0; },2000) }) }()var p2=(function (){ return原创 2020-09-16 17:15:34 · 2184 阅读 · 0 评论 -
关于尾调用和尾递归
1.(1)尾调用:指某个函数的最后一步是调用另一个函数。例如:function a(n){ return b(n); }(最后一步调用并不意味着在函数的尾部,只要是最后一步即可)function a(n){ if(n>1){ return b(n); } return c(n); }(2)什么样的情况不是尾调用:情况一:funct...原创 2018-11-11 20:41:57 · 382 阅读 · 0 评论