Appearance

【面试题】JS_核心

sqs2023/5/19面试题js

1. 数据类型以及存储方式*

2. 判断数据类型的方法*

3. 数组的方法有哪些*

(1)对数组有影响的方法

  • push
  • pop
  • unshift
  • shift
  • splice
  • reverse
  • sort

(2)ES5部分方法

  • join
  • concat
  • slice
  • toString

(3)遍历相关的方法

  • forEach
  • map
  • every
  • some
  • filter
  • reduce

(4)索引相关的方法:

  • at: 根据索引找元素。arr.at(6)

  • indexOf: 返回第一次出现元素的下标,如果没有返回-1 arr.indexOf('vue') // 3

  • includes: 判断一个数组是否包含某个元素,返回true/false(类似indexOf,但是返回值不同)

  • find: 根据回调函数的返回值的真假,返回匹配的第一个元素arr.find(item => item>10)

  • findLast: 反向遍历数组,并返回匹配到的第一个值

  • findIndex: 类似find,不过返回的是元素索引

  • findLastIndex: 类似findLast,不过返回的是索引

(5)静态方法:

  • Array.from: 将一个可迭代的对象创建成一个新的数组

  • Array.isArray: 判断传入的值是否是数组类型

  • Array.of: 类似于Array() 但是如果使用Array(7)会创建长度为7的数组,而Array.of(7)则结果是[7],是只有元素为7的数组

(6)其他方法:

  • flat:根据参数的深度,递归将所有元素拼接到数组中(扁平化)

  • group: 回调函数返回的字符串值来进项分组,返回分组后的对象

4. 字符串的方法有哪些

5. 0.1 + 0.2等于什么

6. 说一下运算符的优先级

7. null和undefined的区别

8. 说一下作用域与作用域链*

9. 什么是变量提升与函数提升*

10. 谈谈你对闭包的理解*

11. 如何判断以及修改this*

12. new操作符的作用*

  1. 创建一个空对象
  2. 将对象的隐式原型设置为函数的prototype对象
  3. 让函数this指向该对象,并执行函数代码
  4. 返回创建对象

13. 说一下原型与原型链*

14. 实现继承的方式有哪些*

15. 谈谈你对执行上下文的理解*

16. 面向对象的三大特征*

17. 谈谈你对JS的理解(单线程、弱类型、动态类型、解释型)*

18. 什么是严格模式

19. for...of、for...in、forEach、map区别

Last Updated 2023/5/20 22:17:30