前端面试题-汇总
- 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:元素排序