上周面试了一家公司,趁着有记忆把题目整理了一下,大概问了下面20个技术性问题!直接上问题
答案仁者见仁 大家自己想哈 本人技术有限
1、new set() 与new Map()的区别
2、数组如何去重
new set()
include
indexOf
filter
等
3、js的继承有那些
原型链的继承
原型继承
组合式继承
构造函数继承(借助 call)
寄生式继承
ES6 的 extends 关键字实现逻辑
4、pop()方法
pop删除 改变原数组 并返回数组被删除的元素
5、js有那些数组的方法
6、let var const的区别?let可以重复定义吗
let const 块级作用域 不可以重复的定义声明 不可以变量提升
const定义常量 不可以改变 必须初始化
var 可以提升变量 可以重复定义 后面会覆盖前面的
7、promise的使用?promise.all()与promise.race()的区别
promise.all()Promise.all成功返回成功数组 失败返回失败数据,一但失败就不会继续往下走
Promise.race(lp1,p2,p3])里面的结果哪个获取的快,就返回哪个结果,不管结果本身是成功还是失败
8、ayscn awiat 的使用 原理
9、uniapp如何实现分页
//主要代码处理部分
let isMOreLoading=true;//是否还有跟多分页
//如果分页的总和==后台返回的分页总数则没有加载分页
if((this.pageSize-1)*this.pageNum+this.res.data.lenght==this.count) {
this.isMOreLoading=false
}
onReachBottom(){
if(isMOreLoading) {
this.pageSize++
this.initData();//获取列表数据
}else {
return
}
}
10、常用的组件库有哪些?表格的右侧固定使用什么属性
11、数组删除一个元素、添加一个元素的方法?他们会改变原数组吗
12、route月router的区别
13.vuex有那些常见的属性?异步在那个里面执行
14、this.set的使用
15.深拷贝\浅拷贝的方法 使用常见
浅拷贝:就是将源对象的属性复制到目标对象中,并返回目标对象
Object.assign
深拷贝:浅拷贝是只能拷贝单层对象的效果,深拷贝是对于对象的多层对象都能拷贝。而且拷贝之后的新对象与原对象之间互不影响。
JSON.parse(JSON.stringify())
16、常见的宏任务 微任务
常见的宏任务:setTimeout setInterval
微任务:Promise 回调函数、process.nextTick
17、什么是闭包?闭包使用的案例?闭包的缺点
18、for...in与for...of的区别
19、路由中的query月prams的使用场景
20、vue2的原理