- 博客(12)
- 收藏
- 关注
原创 [JavaScript面试问题]13. 防抖和节流
防抖和节流的共同作用都是减少js中高频调用代码的执行,不过二者方式略有区别。通俗通俗一点讲,比如你打LOL或者王者荣耀之类的MOBA,防抖就是回城,回城过程中取消了就得重新读条,每次回城总以最后一次完整读条为准,这样才能回泉水。防抖亦是如此,当短时间反复调用一段代码时,只有在最后一次调用之后一段时间,代码才生效。这段时间可以理解为回城读条时间。至于节流,则是放技能,每个技能都有CD,放了技能就必须等待CD才能放下一次。反复调用一段代码,该代码生效一次后,下一次生效必定在“CD”之后。按照这个逻辑,你玩
2022-05-11 23:24:32 211
原创 [JavaScript面试问题]11. 继承的实现方式及比较
JS中继承的实现方式机比较总结。,原型链继承, 构造函数继承,组合继承,原型式继承,寄生继承,寄生组合式继承
2022-05-10 23:33:35 130
原创 [JavaScript面试问题]9. 原型和原型链
①所有引用类型都有一个__proto__(隐式原型)属性,属性值是一个普通的对象②所有函数都有一个prototype(原型)属性,属性值是一个普通的对象③所有引用类型的__proto__属性指向它构造函数的prototypelet arr = [1, 23, 4]console.log(arr)console.log(arr.__proto__) //Arrayconsole.log(arr.__proto__.__proto__) //Object console.log(arr.__pro
2022-05-10 23:30:34 68
原创 [JavaScript面试问题]8. 闭包及其作用
for (var i = 0; i < 5; i++) { setTimeout(() => { console.log(i) }, 0)} //1234for (var x = 0; x < 5; x++) { setTimeout( (function () { let temp = x return function () { console.log(temp) } })(), 0
2022-05-10 23:29:49 65
原创 [JavaScript面试问题]7. 如何正确判断this?
var a = 11 function test1() { this.a = 22 let b = function () { console.log(this.a) } b() } var x = new test1() var a = 11 function test2() { this.a = 22 let b = () =&
2022-05-10 23:28:02 61
原创 [JavaScript面试问题]6. new的原理
1 创建一个空对象2 将该对象的原型链接到要创建的对象上3 将构造函数的作用域赋值给新对象,即this指向这个新对象4 如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象。function person(name, age) { this.name = name this.age = age } person.prototype.show = function () { console.log(`${th
2022-05-10 23:27:22 110
原创 [JavaScript面试问题]5. bind、call、apply的区别
call: 依次传参apply:两个参数,第二个参数为数组bind:返回的是个函数,故还需要传参test = { age:18, height:170, add(num1,num2) { console.log(this.age + num1,this.height + num2); } } test.add.call(test,2,10) test.add.apply(test,[2,5]) test.a
2022-05-10 23:26:23 83
原创 [JavaScript面试问题]4. 数组的常见API
pop()push()slice(start?: number, end?: number) 截取段shift() 删除第一个unshift() 添加第一个splice(start: number, deleteCount?: number) 删除段并替换concat()reverse()sort() a-b为递增,b-a递减join()indexOf()forEach((value,idnex,arr)=>{})map() 通过return可修改值some()ever.
2022-05-10 23:25:41 125
原创 [JavaScript面试问题]3. 类数组与数组的区别与转换
类数组实际上是一类简单的对象类型的数据。数组可以使用for in和for循环,类数组只能for循环转换方法:使用Array.from()使用Array.prototype.slice.call()使用Array.prototype.forEach()进行属性遍历并组成新的数组 let arr = { length:5, 0:0, 1:1, 2:2, '3':3, 'a':4 } console.lo
2022-05-10 23:24:12 123
原创 【JavaScript面试问题】2. 判断数据类型、数组判断、值复制clone
文章目录2. 判断数据类型typeof、instanceof、Object.prototype.toString.call()、constructor2.1 判断数组的几种方式2.2 判断NaN的几种方式2.3 实现一个函数clone,可以对js中的5种主要的数据类型(包括number string object array Boolean)进行值复制2. 判断数据类型typeof、instanceof、Object.prototype.toString.call()、constructortypeo
2022-05-10 23:14:46 49
原创 【JavaScript面试问题】1. 原始值和引用值类型及区别
1. 原始值和引用值类型及区别原始值包括简单数据类型:undefined ,null,String,Number,Boolean,symbol引用类型:Object,function,Array等区别:原始值的数据直接储存在变量所处的栈中,而引用类型则是一个指针,这个指针指向储存对象的堆内存。...
2022-05-10 23:12:23 120
前端Javascript相关面试基础问答整理md
2024-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人