前端面试题集锦-2021年前端面试题收集题库2

编程之家收集整理的这篇文章主要介绍了前端面试题集锦-2021年前端面试题收集题库2编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

搜索热词

1.Javascript延迟加载有哪些方式

  • 浏览器解析html全过程

    • 解析HTML结构
    • 遇到script脚本标签(无async,defer)直接执行,或者加载,并且执行script(会阻塞HTML)
    • 解析并执行完脚本
    • Dom树构建完成,加载图片等外部资源
    • 加载结束
  • 延迟加载或者异步加载有什么作用

    • 不阻塞HTML解析,用户体验更好
  • 具体有哪些异步(延迟)加载Javascript的方式

    • 外部script标签 增加async标签或者defer标签
      • 相同点是都可以不阻塞html解析
      • 不同点是:defer是延迟执行async是异步加载,defer会确保在html解析完毕之后再按defer顺序执行js,而async是异步加载,加载完成之后,会直接执行js,并且执行时,此时会阻塞HTML解析
    • 使用js,create Script标签,并且可以设置延迟加载
    • 因为HTML的解析是自上而下的,所以把script标签放到最后面,也会使js在最后加载,也是很多页面js标签写在最后优化体验的最简单的方式

2.call和apply的区别和作用?

  • 作用:改变this函数内部上下文)指向,很多函数内部会直接使用this指针,指向内部自身对象,并且进行一系列操作,但是如果希望用另一个对象作为该函数的上下文时就需要用到callapply

  • 相同点:

    • 都可以用来改变函数this函数内部上下文)指向
    • 第一个参数,都是上下文入参
    • 都属于Function.prototype,所有函数方法
    • 如果第一个参数为 null时,函数体内部this指向默认上下文,可能是window
  • 不同点

    • 除了第一个参数外,后面的参数:都是传入原函数的入参,但是入参接收形式不一样,apply 后面接收的是一个
      类数组,而call接受的后面参数是单个的参数会原封的传入原函数
  • ES6语法的 ...延展语法,可以更方便的使用call,数组也可以直接解构 function.call(obj,...[arry])


3. 哪些操作会造成内存泄漏

  • @H_403_140@什么是内存泄漏
    • 代码执行时,变量或者代码语句分配的内存空间,无法被自动回收,也不能被继续使用,一直到该进程结束
  • JS中的垃圾回收机制

    • GC garbage collection,自动执行,定时执行,
    • 引用计数: 变量进入环境时(一般是函数作用域),进入环境时,增加标记,环境执行之后,离开环境,标记为:离开环境,变量被回收
    • 标记清除:根据变量被引用次数计数,被引用一次+1,移除引用-1,为0时表示没有变量访问该值,可以被清理
  • 那些操作会造成内存泄漏

    • 函数内部声明的全局变量
      • function(){ test = xxx }
    • 闭包导致的引用计数无法被清除
    • 没有清除的DOM元素引用
    • 忘记clear的定时器和回调
    • DOM元素获取时,子元素的引用(在获取DOM节点时,在直接操作子元素时,父元素也会被内存加载,但是并不会被自动回收,或者经常忘记回收)

总结

以上是编程之家为你收集整理的前端面试题集锦-2021年前端面试题收集题库2全部内容,希望文章能够帮你解决前端面试题集锦-2021年前端面试题收集题库2所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群:1065694478(已满)
编程之家官方2群:163560250(已满)
编程之家官方3群:312128206

相关文章

猜你在找的前端面试题相关文章

1.Javascript延迟加载有哪些方式 浏览器解析html全过程 解析HTML结构 遇到script脚本标签(无async,defer)直接执行,或者加载,并且执行script(会阻塞HTML)
常见的javascript 语句基本规范 1.变量和函数的命名规则 命名规则-驼峰命名法 构造函数首字母大写 2.空格,缩进,注释的使用规范 一般使用2空格代替tab 注释多行用 /** */ 单行注
NO1.下图绿色区域的宽度为100%,其中有三个矩形,第一个矩形的宽度是200px,第二个和第三个矩形的宽度相等。请使用css3中的功能实现它们的布局。 已知HTML结构是: 此题的目的自己认为是主要
浏览器相关 浏览器最大并发量限制是多少个?及如何去突破这个限制? 浏览器最大并发量限制 浏览器的并发连接数是有限的,一般是4到6个,在10个以内。 如果你的网站打开加载的资源过多,一般可以用按需加载,
第1题 A:["1", "2", "3"] B:[1, 2, 3] C:[0, 1, 2] D:other 解释:该题目的答案为:[1, N
作为一个.NET程序员,应该知道的不仅仅是拖拽一个控件到设计时窗口中。就像一个赛车手,一定要了解他的爱车 – 能做什么不能做什么。 本文参考Scott Hanselman给出的.NET问题列表,整理如
又到了一年一度的毕业季了,青春散场,却等待下一场开幕。 在求职大军中,IT行业的程序员、码农是工科类大学生的热门选择之一, 尤其是近几年Web的如火如荼,更是吸引了成千上万的程序员投身其中追求自己的梦
JSON是什么? JSON(JavaScript对象表示法), 是在网络通信下,常用的一种数据表达格式,它有助于我们于一个自描述的,独立的和轻的方式呈现并交换数据。这些数据可以易于和转换为JavaSc
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注