面试题
慵懒奴
这个作者很懒,什么都没留下…
展开
-
null和undefined 区别
null和undefined 区别原创 2023-03-13 11:49:48 · 144 阅读 · 0 评论 -
JS的执行机制
JS的执行机制一. 什么是同步与异步(1) 同步(2) 异步二. 单线程(1) js是单线程三. process.nextTick与setImmediate方法(1) process.nextTick(2) setImmediate四.事件循环(1) 运行栈(2) 任务队列(3) 事件循环五.宏任务和微任务(1) 宏任务(2) 微任务六. promise和async函数(1) promise函数(2) async函数七. 测试题一. 什么是同步与异步(1) 同步按顺序执行//例子:consol原创 2022-03-30 09:55:37 · 3811 阅读 · 1 评论 -
原型的基本概念
原型的基本概念1.什么是原型?2. 获取原型上的属性和方法的3种方式(1) 通过对象__proto__获取(2) 通过构造函数的prototype属性获取(3) 通过类的prototype属性获取3. 原型对象具体在实际项目中有什么用?4. 什么是继承?使用场景:(1) 使用es5实现继承,需要使用到prototype(基于原型的基础案例)(2) 使用es6实现继承5. 什么是原型链1.什么是原型?原型就是个对象每个对象都有他自己对应的原型对象,每个对象都可以使用他对象对应的原型对象上面的所有的属性原创 2022-03-29 15:15:45 · 1248 阅读 · 0 评论 -
对象深浅拷贝封装方法和案例
对象拷贝一.js的内存结构二.vue,js的对象列表三.浅拷贝(无法拷贝引用类型)浅拷贝封装方法四.递归五.深度拷贝深拷贝封装方法一.js的内存结构js的内存结构 === js的原型类型和引用类型原始数据类型:数值,字符串,布尔,null,undefined引用类型:对象(存储在堆内存中)//基本类型例子:let a = 10let b = a;a = 20conosle.log(a)//20console.log(b)//10a = 10(后来改成了20)原创 2022-03-28 16:14:17 · 1235 阅读 · 0 评论 -
回调函数,Promise对象,async函数的使用,解决回调地狱的问题
Promise是es6新增的语法,解决了回调地狱的问题1. 概念什么是回调地狱?需要拿异步数据不能用return拿数据,只能用回调函数拿,但是如果要控制拿数据的顺序,就需要函数内嵌套函数,套娃,但是嵌套多了,代码就不利于维护,那么这种就叫做回调地狱(案例二种的方法三就是回调地狱)如何解决回调地狱?es5通过回调函数拿数据,es6通过promis对象的then方法拿异步数据,这样的话就更容易维护,不会出现回调地狱resolve可以将异步数据传递出去,然后通过promis原创 2022-03-25 14:18:08 · 472 阅读 · 0 评论 -
call,apply和bind的区别
callcall是一个方法,是函数的方法call可以调用函数,call可以改变函数中this的指向call和apply相同点:都会调用函数不同点:传参的方式不同,call传参时一直往后加参数,apply传参数是以数组的形式传参call和bind相同点:传参的方式一样不同点:call会调用函数,bind不会调用函数,它会作为一个返回值返回一个函数,然后才可以调用例子一:function fun(){ console.log('调用')}fun.call()//打印了 调原创 2022-03-25 10:50:19 · 730 阅读 · 0 评论 -
什么是闭包?
什么是闭包?闭包就是能够读取其他函数内部变量的函数. 说白了,闭包就是一个函数,只不过是处于函数内部而已.闭包的作用:好处1.访问海曙内部的变量2.防止函数内部的变量执行完之后被销毁,时期保存在内存中.坏处1.耗内存,使用不当会造成内存溢出的问题...原创 2022-03-23 14:33:58 · 367 阅读 · 0 评论 -
http/https/浏览器
http/https浏览器http/https(1)http是超文本传输协议,是互联网上应用最为广泛的一种网络协议.(2)https是以安全为目标的http通道,简单讲就是http的安全版http/https的区别:(1)http传输的数据是未加密的,也就是明文(2)https协议是由http和ssl协议构建的可进行加密传输和身份认证的网络协议,比http协议安全性更高主要的区别:(1)http是超文本传输协议,信息是明文传输,链接很简单,是无状态的(2)https具原创 2022-03-23 14:31:49 · 6288 阅读 · 0 评论 -
讲一下let,var,const的区别?
讲一下let,var,const的区别?var1.没有块级作用域,只有函数作用域2.可以变量提升3.是会被挂载到window上,例:window.aconsole.log(a)var a = 10相当于在console.log上声明了一个var a = undefindlet1.有块级作用域2.不能重复声明3.零时死去不能被挂载到window上const1.有块级作用域2.不能重复声明3.零时死去不能被挂载到window上4.当被const常量声明原创 2022-03-23 14:29:19 · 131 阅读 · 0 评论 -
防抖和节流
一.什么是防抖?在规定的时间内,多次触发,只执行最后一次作用:高频率触发的事件,在指定的单位时间内,只响应最后一次,如果在指定时间内再次触发,则重新计算时间防抖类似英雄联盟回城6秒,如果回城中被打断,再次回城需要再等6秒1.如何防抖1.绑定触发事件,调用防抖2.创建一个新的定时器3.间隔时间内是否再次有触发事件a.有—>则清除上一个定时器,重新创建一个新的定时器4.执行防抖内需要处理的时间5.结束<input type="text" id="inp">fun原创 2022-03-23 14:11:58 · 585 阅读 · 0 评论 -
手写代码实现一个promise.all方法?
promise.all是一个静态方法,只会接受成功的结果 let p1 = new Promise((resolve, reject) => { setTimeout(() => { resolve(111) }, 1000) }) let p2 = new Promise((resolve, reject) => { setTimeout(() => { resolve(222)原创 2022-03-08 15:01:36 · 154 阅读 · 0 评论