JS
麦子穗
这个作者很懒,什么都没留下…
展开
-
ES6的剩余参数和展开运算符
ES6的剩余参数和展开运算符、对象展开运算符原创 2022-03-18 10:37:26 · 471 阅读 · 0 评论 -
this指向的9个规则和new操作符调用函数的步骤
this指向的9个规则、new操作符调用函数的步骤、call和apply方法的区别、DOM动态获取元素的方法有什么区别原创 2022-03-17 15:40:36 · 884 阅读 · 0 评论 -
继承和实现继承的方法
继承和实现继承的方法原创 2022-03-17 14:56:00 · 1103 阅读 · 0 评论 -
JS面试题汇总(二)
原型和原型链、== 与 === 运算符的区别、undefined和null的区别、Truly变量、falsely变量和逻辑判断、substring()、substr()和slice() 三种截取子字符串方法的区别、Instanceof 判断引用类型原创 2022-03-17 08:54:57 · 328 阅读 · 0 评论 -
ES6面试题(二)
判断数组的方法有哪些?模板字符串和字符串的区别?箭头函数的理解?严格模式和非严格模式的区别是什么?对象字面量的增强、方括号语法和点语法的区别原创 2022-03-15 21:47:37 · 80 阅读 · 0 评论 -
解构赋值中的数组的解构赋值和对象解构赋值
1解构赋值①定义.解析某一数据结构,将我们想要的东西提取出来,赋值给变量或者常量②应用场景:交换变量的值;从函数返回多个值,可以返回一个数组,也可以返回一个对象;函数参数的定义,方便将一组参数与变量名对应起来,数组的参数是有次序的,对象的参数是没有次序的;指定函数参数的默认值;遍历Map解构,方便获取键名和键值;加载模块;提取JSON数据2.数组的解构赋值①原理:模式(结构)匹配;索引值相同的完成赋值,不取的就用逗号隔开②默认值:const/let [a,b] = [];是一个空数组时,原创 2022-03-13 20:29:03 · 2081 阅读 · 0 评论 -
箭头函数和this指向问题
①结构:const/let 函数名 = (参数) = > {函数体};②一般函数转为箭头函数步骤:声明形式->函数表达式形式->箭头函数function fun() {}; ->const/let add = function() {}; -> const/let add = ()=>{};③注意事项:单个参数可以省略圆括号,无参或者有多个参数不能省略圆括号;④单行函数体可以同时省略{}和return,多行函数体不能省略。⑤单行对象:如果箭头函数返回.原创 2022-03-13 20:13:08 · 401 阅读 · 0 评论 -
let、var和const的区别
①Let和var是用来声明变量的可以重新赋值Const是用来声明常量的,设置初始值后,不可以重新赋值②重复说明:已经存在的变量或常量,又声明了一次(包括函数的参数)Var允许重新声明,let和const不允许③变量提升:var可以提升变量的声明到当前作用域的顶部,不会提升变量的值而let和const不会提升变量④暂时性死区:只要作用域内存在let、const,它们所声明的变量或者常量就自动“绑定”在这个区域里面,不再受外部作用域的影响,并且只有在声明变量之后,才可以获取和使用该变量,原创 2022-03-13 20:09:56 · 907 阅读 · 0 评论 -
ES6相关面试题(一)
ES6新增的特性有哪些?const的注意事项、暂时性死区;什么是事件委托,事件代理?函数参数的默认值、原创 2022-03-13 20:06:45 · 361 阅读 · 0 评论 -
JS 面试题汇总
字符串拼接的方法、变量声明提升、数据类型、NaN的理解、0.1+0.2!=0.3的原因、Break与continue 的区别、Indexof()和includes()方法的区别、数组的常用方法中哪些方法改变原数组,哪些方法不改变原数组吗?、闭包、作用域有哪些?作用域链?原创 2022-03-13 14:15:33 · 870 阅读 · 0 评论 -
闭包的概念和应用场景、== 与 === 运算符区别、margin的传递问题以及它的解决方式、CSS与元素隐藏、标准文档流、堆叠次序、
两种符号的定义: "=="叫做相等运算符; "==="叫做严格相等运算符(全等运算符)它们之间的区别: "=="允许隐式类型转换,只判断等号两边的值是否相等,而不判断类型是否相同。值相同则返回true ; "==="允许隐式类型转换,既要判断值是否相等,也要判断类型是否相同,即全等才能返回true ;“==”运算符认为null和undefined是相等的;“===”运算符认为null和undefined是不相等的。......原创 2022-03-09 13:12:06 · 195 阅读 · 0 评论 -
1. 浅克隆和深克隆的区别
(1)、区别浅克隆:克隆出来的数据并不能完全脱离原数据,克隆前与克隆后的变量各自的变化会相互影响。这是因为引用变量存储在栈中,而实际的对象存储在堆中。每一个引用变量都有一根指针指向其堆中的实际对象。即当一个变量值改变时,另一个变量也会跟着发生变化。深克隆:所有元素或属性均完全复制,与原对象完全脱离,也就是说所有对于新对象的修改都不会反映到原对象中。这是因为原始变量之间的赋值操作本质上就是当一个原始变量把值赋给另一个原始变量时,只是把栈中的内容复制给另一个原始变量,在这种操作下,引用变量指向的将不再是堆原创 2022-03-09 10:39:40 · 2083 阅读 · 0 评论