前端面试题-汇总

  • call, apply, bind 区别

首先说下前两者的区别。
call 和 apply 都是为了解决改变 this 的指向。作用都是相同的,只是传参的方式不同。
除了第一个参数外,call 可以接收一个参数列表,apply 只接受一个参数数组。

let a = {
    value: 1
}
function getValue(name, age) {
    console.log(name)
    console.log(age)
    console.log(this.value)
}
getValue.call(a, 'yck', '24')
getValue.apply(a, ['yck', '24'])
  • 数组中可使用的方法
    push:数组尾部添加元素
    unshift:数组头部添加元素
    pop:数组尾部移除元素
    shift:数组头部移除元素
    splice:删除数组元素
    slice:截取数组元素
    indexOf:查找某元素第一次出现的位置
    lastIndexOf:查找某元素最后一次出现的位置
    findIndex:查找元素第一次出现的位置
    forEach:遍历元素
    map:遍历元素
    filter:过滤元素
    some:包含元素
    every:所有元素和某元素一致
    includes:查看是否包含某元素
    contact:合并元素
    join:合并元素,变成字符串
    toString:变成字符串
    sort:元素排序