自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 [JavaScript面试问题]13. 防抖和节流

防抖和节流的共同作用都是减少js中高频调用代码的执行,不过二者方式略有区别。通俗通俗一点讲,比如你打LOL或者王者荣耀之类的MOBA,防抖就是回城,回城过程中取消了就得重新读条,每次回城总以最后一次完整读条为准,这样才能回泉水。防抖亦是如此,当短时间反复调用一段代码时,只有在最后一次调用之后一段时间,代码才生效。这段时间可以理解为回城读条时间。至于节流,则是放技能,每个技能都有CD,放了技能就必须等待CD才能放下一次。反复调用一段代码,该代码生效一次后,下一次生效必定在“CD”之后。按照这个逻辑,你玩

2022-05-11 23:24:32 197

原创 【JavaScript面试问题】12. 深拷贝与浅拷贝

JS中几种浅拷贝深拷贝的方法,以及数组浅拷贝的简单方法

2022-05-11 21:22:38 130

原创 [JavaScript面试问题]11. 继承的实现方式及比较

JS中继承的实现方式机比较总结。,原型链继承, 构造函数继承,组合继承,原型式继承,寄生继承,寄生组合式继承

2022-05-10 23:33:35 116

原创 [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 54

原创 [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 55

原创 [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 51

原创 [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 93

原创 [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 73

原创 [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 107

原创 [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 107

原创 【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 38

原创 【JavaScript面试问题】1. 原始值和引用值类型及区别

1. 原始值和引用值类型及区别原始值包括简单数据类型:undefined ,null,String,Number,Boolean,symbol引用类型:Object,function,Array等区别:原始值的数据直接储存在变量所处的栈中,而引用类型则是一个指针,这个指针指向储存对象的堆内存。...

2022-05-10 23:12:23 105

前端Javascript相关面试基础问答整理md

从“原始值和引用值类型及区别”到“EventLoop事件循环&宏任务和微任务 ”,整理了Javascript学习和面试中遇到的一些基础和常见的问题。 总共包含33个问答,部分问题带有代码解答。 1. 原始值和引用值类型及区别 2. 判断数据类型typeof、instanceof、Object.prototype.toString.call()、constructor 2.1 判断数组的几种方式 2.2 判断NaN的几种方式 2.3 实现一个函数clone 3. 类数组与数组的区别与转换 4. 数组的常见API 5. bind、call、apply的区别 6. new的原理 7. 如何正确判断this? 8. 闭包及其作用 9. 原型和原型链 10. prototype与__proto__的关系与区别 11. 继承的实现方式及比较 12. 深拷贝与浅拷贝 13. 防抖和节流 14. 作用域和作用域链、执行期上下文 15. DOM常见的操作方式 16. Array.sort()方法与实现机制 17. Ajax 17. 垃圾回收 18.JS中的String和Math方法 ······

2024-02-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除