安丘市住房与城市建设路网站,南城做网站,店铺设计理念,如何进入微信公众号平台ES6面试题
var、let、const区别 共同点#xff1a;都是可以声明变量 区别#xff1a; 1、var具有变量提升机制#xff0c;let和const没有 2、var 声明的变量是函数作用域或全局作用域#xff0c;而 const 和 let 声明的变量是块级作用域。 3、var可以多次声明同一个变量都是可以声明变量 区别 1、var具有变量提升机制let和const没有 2、var 声明的变量是函数作用域或全局作用域而 const 和 let 声明的变量是块级作用域。 3、var可以多次声明同一个变量let和const不可以 4、const 声明的变量必须进行初始化赋值而 var 和 let 声明的变量可以不进行初始化赋值。
作用域考题
考题一
Var没有自身的作用域所以var n1打印是1
考题三
将下列对象合并 方式一Object.assign
方式二
方式三自己封装
箭头函数和普通函数的区别
1、this指向的问题 箭头函数的this是在箭头函数定义时就决定的而且是不可修改的不可用call、apply、bind ****箭头函数的this指向定义时候、外层第一个普通函数的this 2、箭头函数不能new不能当作构造函数 3、箭头函数没有prototype 4、箭头函数没有arguments对象
Promise是什么它的API有哪些
1、- Promise是es6新增的语法用来处理异步请求解决了es5中回调地狱的问题 2、- Promise的回调函数中接收两个参数第一个表示请求成功的回调第二个表示请求失败的回调分别是resolve和reject。 3、- 使用.then去获取结果使用.catch去捕获异常并且上一个Promise的执行结果会返回一个Promise对象。
Promise.all()和Promise.race()
使用场景 有些时候我们做一个操作可能得同时需要不同的接口返回的数据这时我们就可以使用Promise.all 有时我们比如说有好几个服务器的好几个接口都提供同样的服务我们不知道哪个接口更快就可以使用Promise.race哪个接口的数据先回来我们就用哪个接口的数据。 Promise有几种状态 有3种状态 4、pending进行中 5、fulfilled已成功 6、rejected已失败
async和await区别如何用工作原理
Async用来定义函数的是一个异步函数打印这个函数名会得到promise这个对象函数名称.then(函数名称调用then方法就是promise调用then方法) Await 后面加表达式一般使用promise的表达式 工作原理 Async执行成功会有返回值内部调用promise.resolve()
Promise是ES6中处理异步请求的语法使用.then()来实现链式调用,使用.catch()来捕获异常。async/await 是对Promise的升级 async用于声明一个函数是异步的 await是等待一个异步方法执行完成await一个Promise对象 await promise.then成功的情况。 async/await的捕获异常可以使用try/catch语法。也可以使用.catch语法 find和filter的区别 find是查找符合的返回第一个 filter是筛选所有符合的 区别一返回的内容不同 filter返回的是新数组 find返回的是具体内容 区别二 Find匹配到第一个即返回 Filter返回整体每一个匹配都加入数组返回这个数组”
some和every的区别
some判断是否有符合的如果有一项就返回true返回true或false every判断数组里每一项是否都符合全部匹配返回true返回true或false
flat与flatMap使用
1、flat数组的成员有时还是数组Array.prototype.flat()用于将嵌套的数组“拉平”变成一维的数组。该方法返回一个新数组对原数据没有影响。
[1, 2, [3, 4]].flat()
// [1, 2, 3, 4]flat()默认只会“拉平”一层可以将flat()方法的参数写成一个整数表示想要拉平的层数默认为1。 如果不管有多少层嵌套都要转成一维数组可以用Infinity关键字作为参数。 如果原数组有空位flat()方法会跳过空位
[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]][1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5][1, [2, [3]]].flat(Infinity)
// [1, 2, 3]//如果原数组有空位flat()方法会跳过空位。
[1, 2, , 4, 5].flat()
// [1, 2, 4, 5]2、flatMap()方法对原数组的每个成员执行一个函数相当于执行Array.prototype.map()然后对返回值组成的数组执行flat()方法。 该方法返回一个新数组不改变原数组。 flatMap()只能展开一层数组。
// 相当于 [[[2]], [[4]], [[6]], [[8]]].flat()
[1, 2, 3, 4].flatMap(x [[x * 2]])
// [[2], [4], [6], [8]]