![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
麦子穗
这个作者很懒,什么都没留下…
展开
-
class类 的理解
class 的基本使用、注意事项、总结super的不同用法原创 2022-03-22 15:24:45 · 1498 阅读 · 0 评论 -
Promise的理解(面试题)
Promise的基本用法、promise三种状态?总结Promise.resolve()方法参数的几种情况、Promise.all()和promise.race()、promise.any()的区别?Then方法中return的作用?原创 2022-03-22 13:25:42 · 5453 阅读 · 0 评论 -
es6新增方法
es6新增方法、字符串新增方法、数组新增方法、对象新增方法、数组的keys()、values()、entries()与对象的这些方法之间的区别原创 2022-03-20 13:41:43 · 1512 阅读 · 0 评论 -
Iterator遍历器和原生可遍历
1.Iterator遍历器①Iterator是一个遍历器(迭代器),是一个统一的遍历方式。Iterator寻找是找不到,该方法在对象原型链上可以找到,Symbol.iterator();调用该方法可以得到一个对象,该对象被称为可遍历对象(可迭代对象),所以Symbol.iterator()是可迭代对象的生成方法。②可迭代对象的必要条件:必须有next()方法,next()方法在调用之后会返回一个对象,这个对象拥有value和done属性。value是遍历的值,done代表是否遍历完成。Iterat.原创 2022-03-20 10:39:15 · 327 阅读 · 0 评论 -
Map数据结构的理解
①Map和对象都是键值对的集合;②对象和map的区别:对象的键只能是字符串。Map的键,基本数据类型和引用数据类型都可以。③方法和属性set方法可以连续写,new Map().set('age',18).set(true,'true')。添加的新成员,键如果已经存在,后添加的键值对会覆盖已有的;get方法获取不存在的成员,会返回undefined;has方法、delete方法、clear方法都和Set集合一样;new Map().forEach(function(value,key,原创 2022-03-18 16:39:36 · 1307 阅读 · 0 评论 -
set 数据结构的理解
①set是一系列无序(因为set没有下标(索引号))、没有重复值的数据集合(数组有序)。不可以用字面量的形式创建,只能用实例化形式创建②方法和属性//1.方法 //add()添加成员 const s = new Set(); s.add(1).add(2).add(3); console.log(s); // {1, 2, 3} //has()判断是否有某个成员 console.log(s.has(1)原创 2022-03-18 16:00:30 · 2575 阅读 · 0 评论 -
ES6的剩余参数和展开运算符
ES6的剩余参数和展开运算符、对象展开运算符原创 2022-03-18 10:37:26 · 496 阅读 · 0 评论 -
ES6面试题(二)
判断数组的方法有哪些?模板字符串和字符串的区别?箭头函数的理解?严格模式和非严格模式的区别是什么?对象字面量的增强、方括号语法和点语法的区别原创 2022-03-15 21:47:37 · 96 阅读 · 0 评论 -
解构赋值中的数组的解构赋值和对象解构赋值
1解构赋值①定义.解析某一数据结构,将我们想要的东西提取出来,赋值给变量或者常量②应用场景:交换变量的值;从函数返回多个值,可以返回一个数组,也可以返回一个对象;函数参数的定义,方便将一组参数与变量名对应起来,数组的参数是有次序的,对象的参数是没有次序的;指定函数参数的默认值;遍历Map解构,方便获取键名和键值;加载模块;提取JSON数据2.数组的解构赋值①原理:模式(结构)匹配;索引值相同的完成赋值,不取的就用逗号隔开②默认值:const/let [a,b] = [];是一个空数组时,原创 2022-03-13 20:29:03 · 2139 阅读 · 0 评论 -
箭头函数和this指向问题
①结构:const/let 函数名 = (参数) = > {函数体};②一般函数转为箭头函数步骤:声明形式->函数表达式形式->箭头函数function fun() {}; ->const/let add = function() {}; -> const/let add = ()=>{};③注意事项:单个参数可以省略圆括号,无参或者有多个参数不能省略圆括号;④单行函数体可以同时省略{}和return,多行函数体不能省略。⑤单行对象:如果箭头函数返回.原创 2022-03-13 20:13:08 · 410 阅读 · 0 评论 -
let、var和const的区别
①Let和var是用来声明变量的可以重新赋值Const是用来声明常量的,设置初始值后,不可以重新赋值②重复说明:已经存在的变量或常量,又声明了一次(包括函数的参数)Var允许重新声明,let和const不允许③变量提升:var可以提升变量的声明到当前作用域的顶部,不会提升变量的值而let和const不会提升变量④暂时性死区:只要作用域内存在let、const,它们所声明的变量或者常量就自动“绑定”在这个区域里面,不再受外部作用域的影响,并且只有在声明变量之后,才可以获取和使用该变量,原创 2022-03-13 20:09:56 · 932 阅读 · 0 评论 -
ES6相关面试题(一)
ES6新增的特性有哪些?const的注意事项、暂时性死区;什么是事件委托,事件代理?函数参数的默认值、原创 2022-03-13 20:06:45 · 368 阅读 · 0 评论 -
JS 面试题汇总
字符串拼接的方法、变量声明提升、数据类型、NaN的理解、0.1+0.2!=0.3的原因、Break与continue 的区别、Indexof()和includes()方法的区别、数组的常用方法中哪些方法改变原数组,哪些方法不改变原数组吗?、闭包、作用域有哪些?作用域链?原创 2022-03-13 14:15:33 · 877 阅读 · 0 评论 -
1. 浅克隆和深克隆的区别
(1)、区别浅克隆:克隆出来的数据并不能完全脱离原数据,克隆前与克隆后的变量各自的变化会相互影响。这是因为引用变量存储在栈中,而实际的对象存储在堆中。每一个引用变量都有一根指针指向其堆中的实际对象。即当一个变量值改变时,另一个变量也会跟着发生变化。深克隆:所有元素或属性均完全复制,与原对象完全脱离,也就是说所有对于新对象的修改都不会反映到原对象中。这是因为原始变量之间的赋值操作本质上就是当一个原始变量把值赋给另一个原始变量时,只是把栈中的内容复制给另一个原始变量,在这种操作下,引用变量指向的将不再是堆原创 2022-03-09 10:39:40 · 2146 阅读 · 0 评论