js 面试相关

Posted 茴香

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 面试相关相关的知识,希望对你有一定的参考价值。

定义变量的方式

ES5 有俩种:

var 和function

ES6有6种

增加四种:let、const、import、 class。
注意:let、 const 、class 声明的全局变量再也不会和全局对象的属性挂钩

闭包

闭包就是能读取其他函数内部变量的函数。
  • 优点:避免全局变量的污染。希望一个变量长期储存再内存中(缓存变量)
  • 缺点:内存泄露(消耗),常驻内存,增加内存使用量

DOM事件有哪些阶段

  • 三大阶段:捕获阶段、目标阶段、冒泡阶段
  • 简单来说:事件不直接绑定到某元素上,而是绑定到该元素的父元素上,进行触发事件操作时,再通过条件判断,执行事件触发后的语句
  • 好处:代码更简洁、节约内存开销

javascript的垃圾回收机制

  • javascript在创建对象(对象、字符串等)时会为他们分配内存,不再使用时会“自动”释放内存,这个过程称为垃圾收集。
  • 内存生命周期中的每个阶段:

    • 分配内存:内存是由操作系统自动分配的,它允许您的程序使用。
    • 使用内存:这是一个程序实际使用之前分配的内存,在代码中使用分配的变量时,就会发生读和写的操作。
    • 释放内存:释放所有不再使用的内存,使之成为自由内存,并可以被重复利用。与分配内存操作一样,这一操作在低级语言中,也需要显式执行。

四种常见的内存泄露:全局变量,未清除的定时器,闭包,以及dom的引用

  • 全局变量:不用var 声明的全局变量,相当于挂载到window对象上,如:b=2;解决:使用严格模式
  • 被遗忘的定时器和回调函数
  • 闭包
  • 没有清理的DOM元素引用

前端性能优化常用方法

  • 减少请求数量
  • 减小资源大小
  • 优化网络连接
  • 优化资源加载
  • 减少重绘回流
  • 使用性能更好的API
  • 借助webpack等工具压缩优化

以上是关于js 面试相关的主要内容,如果未能解决你的问题,请参考以下文章

JS手写面试题 --- Promise 以及相关方法的实现

js面试相关

二. js相关面试题

JS万字整理JavaScript相关基础技术面试题总结 - 前端面试必备 - 基础知识总结 - 秋招冲鸭

面试题440- 10 道 Nodejs EventLoop 和事件相关面试题

面试题-JS中的作用域相关问题