JavaScript 相关面试题

senmu2024/06/03

js 的数据类型有哪些?

  • 基础数据类型
    • NumberStringBooleanundefinednullSymbolBigInt
  • 复杂数据类型
    • Object

它们分别存储在栈内存(Stack)和堆内存(Heap)中。

  • 栈内存 — 内存中的连续空间、访问速度快;只能存储少量数据
  • 堆内存 — 非连续空间、访问速度慢;一般用来存储大量数据

js 中数组有哪些方法?

从数组的操作(增、删、改、查)、排序、转换、迭代的角度来看,另外注意操作/方法是否会更改原数组,以及方法的返回值:

    • push() 往数组尾部增加内容,返回新数组的长度,会改变原数组
    • unshift() 往数组头部增加内容,返回新数组的长度,会改变原数组
    • splice() 指定数组位置开始增加,返回空数组(因为返回值是删除的元素数组集合),会改变原数组
    • concat() 创建当前数组的副本,往副本中添加内容,返回组合成的新数组,不会改变原数组
    • pop() 删除数组尾部内容,返回被删除的元素,会改变原数组
    • shift() 删除数组头部内容,返回被删除的元素,会改变原数组
    • splice() 指定数组位置开始删除,返回被删除元素的数组集合,会改变原数组
    • slice() 创建一个指定位置集合的数组,不会改变原数组
    • splice()
    • indexOf()
    • includes()
    • find()
  • 排序
    • reverse() 将数组反向排序(翻转数组),返回排序后的数组,会改变原数组
    • sort() 将数组按照传入的回调函数的返回值 -1、0、1 来排序,返回排序后的数组,会改变原数组
  • 转换
    • join() 将数组按照传入的参数来转换,返回转换后的字符串,不会改变原数组
  • 迭代
    • forEach()
    • filter()
    • map()
    • reduce()
    • some()
    • every()
最近更新 2024-06-14 02:38:11