欢迎光临散文网 会员登陆 & 注册

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

2023-07-16 11:54 作者:bili_78770435388  | 我要投稿

P6 JS高频面试题

1、原型链

理解:如果一个对象obj,想要访问一个属性,比如这个属性的名字a,那么obj.a,他会先找对象本身有没有这个属性,如果没有,会先通过__protop__来找到创建对象的构造函数,再找到它的原型上面有没有a属性,如果没有还会继续沿着上一级往上找,直到找到原型的顶点Object,没有则返回Null。

      2、闭包

含义:当A函数中返回了B函数,并且返回的B函数中有使用到A函数中的局部变量(包含参数)就会形成一个特性的形态,就叫闭包

1) 内存泄漏:A函数执行完成后,生成了B函数,应该被垃圾回收机制回收,但是因为生成的B函数还在使用A函数中的局部变量,就会导致A函数没有及时回收,导致内存泄漏.

2) 防抖:在一定时间内,进行重复多次操作,只会进行最后一次操作,避免事件的重复触发

3) 节流:在一定时间内的多次重复操作,只会进行第一次操作,,一段时间后才会可以进行下一次操作。

3、数组合并方法

      1)concat

      2) […a,…b]展开运算符

      3)[a,b].flat() 扁平化处理

4、cookie 和session

      1)Cookie和session是为HTTP请求挂载状态的,也就说在前后端交互的过程中,往往需要利用cookie或者session来对客户端进行标记

2)Cookie和session本质都是利用cookie或者localStorage来进行数据交互,而cookie和localStorage又都有跨域的限制:

       Cookie通过设置domain可以实现一级域名下的二级域名之间可以相互访问,localStorage则不能跨域。

      5、进程和线程的区别

             1)进程是资源分配的最小单元,线程是代码执行的最小单元。

2)一个应用程序可能会开启多个进程,进程之间数据不共享,一个进程内部可以开启多个线程,线程之间数据可以共享,所以多线程的情况下,往往要考虑的是线程之间的执行顺序问题

             3)浏览器也可以通过webWorkers开启多线程

      6、协商缓存和强缓存的区别

             1)协商缓存和强缓存指的都是浏览器对静态资源文件的缓存机制

             2)强缓存是客户端直接查看本地的缓存文件是否过期,没有则直接取用

             3)强缓存在前,协商缓存在后

             4)资源未过期触发强制缓存,资源过期后再触发协商缓存

             5)判断过期方法expires(绝对时间)、cache-control(相对时间)

 

        

千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)的评论 (共 条)

分享到微博请遵守国家法律