【面试题】金九银十,你准备好面试了吗? (30w字前端面试题总结)(JavaScript)

 一、数据类型

  1. JavaScript有哪些数据类型,它们的区别?
  2. 数据类型检测的方式有哪些
  3. 判断数组的方式有哪些
  4. null和undefined区别
  5. typeof null 的结果是什么,为什么?
  6. intanceof 操作符的实现原理及实现
  7. 为什么0.1+0.2 ! == 0.3,如何让其相等
  8. 如何获取安全的 undefined 值?
  9. typeof NaN 的结果是什么?
  10. isNaN 和 Number.isNaN 函数的区别?
  11. == 操作符的强制类型转换规则?
  12. 其他值到字符串的转换规则?
  13. 其他值到数字值的转换规则?
  14. 其他值到布尔类型的值的转换规则?
  15. || 和 && 操作符的返回值?
  16. Object.is() 与比较操作符 “===”、“==” 的区别?
  17. 什么是 JavaScript 中的包装类型?
  18. JavaScript 中如何进行隐式类型转换?
  19. +操作符什么时候用于字符串的拼接?
  20. 为什么会有BigInt的提案?
  21. object.assign和扩展运算法是深拷贝还是浅拷贝,两者区别

二、ES6

  1. let、const、var的区别
  2. const对象的属性可以修改吗
  3. 如果new一个箭头函数的会怎么样
  4. 箭头函数与普通函数的区别
  5. 箭头函数的this指向哪⾥?
  6. 扩展运算符的作用及使用场景
  7. Proxy 可以实现什么功能?
  8. 对对象与数组的解构的理解
  9. 如何提取高度嵌套的对象里的指定属性?
  10. 对 rest 参数的理解
  11. ES6中模板语法与字符串处理

三、JavaScript基础

  1. new操作符的实现原理

  2. map和Object的区别

  3. map和weakMap的区别

  4. JavaScript有哪些内置对象

  5. 常用的正则表达式有哪些?

  6. 对JSON的理解

  7. JavaScript脚本延迟加载的方式有哪些?

  8. JavaScript 类数组对象的定义?

  9. 数组有哪些原生方法?

  10. Unicode、UTF-8、UTF-16、UTF-32的区别?

  11. 常见的位运算符有哪些?其计算规则是什么?

  12. 为什么函数的 arguments 参数是类数组而不是数组?如何遍历类数组?

  13. 什么是 DOM 和 BOM?

  14. 对类数组对象的理解,如何转化为数组

  15. escape、encodeURI、encodeURIComponent 的区别

  16. 对AJAX的理解,实现一个AJAX请求

  17. JavaScript为什么要进行变量提升,它导致了什么问题?

  18. 什么是尾调用,使用尾调用有什么好处?

  19. ES6模块与CommonJS模块有什么异同?

  20. 常见的DOM操作有哪些

  21. use strict是什么意思 ? 使用它区别是什么?

  22. 如何判断一个对象是否属于某个类?

  23. 强类型语言和弱类型语言的区别

  24. 解释性语言和编译型语言的区别

  25. for...in和for...of的区别

  26. 如何使用for...of遍历对象

  27. ajax、axios、fetch的区别

  28. 数组的遍历方法有哪些

  29. forEach和map方法有什么区别

四、原型与原型链

  1. 对原型、原型链的理解
  2. 原型修改、重写
  3. 原型链指向
  4. 原型链的终点是什么?如何打印出原型链的终点?
  5. 如何获得对象非原型链上的属性?

五、执行上下文/作用域链/闭包

  1. 对闭包的理解

  2. 对作用域、作用域链的理解

  3. 对执行上下文的理解

六、this/call/apply/bind

  1. 对this对象的理解
  2. call() 和 apply() 的区别?
  3. 实现call、apply 及 bind 函数

七、异步编程

  1. 异步编程的实现方式?
  2. setTimeout、Promise、Async/Await 的区别
  3. 对Promise的理解
  4. Promise的基本用法
  5. Promise解决了什么问题
  6. Promise.all和Promise.race的区别的使用场景
  7. 对async/await 的理解
  8. await 到底在等啥?
  9. async/await的优势
  10. async/await对比Promise的优势
  11. async/await 如何捕获异常
  12. 并发与并行的区别?
  13. 什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题?
  14. setTimeout、setInterval、requestAnimationFrame 各有什么特点?

八、面向对象

  1. 对象创建的方式有哪些?
  2. 对象继承的方式有哪些?

九、垃圾回收与内存泄漏

  1. 浏览器的垃圾回收机制
  2. 哪些情况会导致内存泄漏

(2)思维导图

下图对JavaScript面试题的考察频率进行了大致的区分,可以选择性的学习: 

 给大家推荐一个实用面试题库

1、前端面试题库 (面试必备)            推荐:★★★★★

地址:前端面试题库

猜你喜欢

转载自blog.csdn.net/weixin_42981560/article/details/126973509