Promise 有几种状态? 三种. pending 初始状态 ; fulfilled 操作成功; rejected 操作失败.
Promise.all 和 Promise.race 的区别? 相同点: 两个方法都是将多个Promise实例,包装成一个新的Promise实例. 不同点: Promise.all 接收的实例对象状态都变成fulfilled时,接收一个数组.只要有一个是rejected状态,结果就是第一个rejected的返回值. Promise.race 接收第一个率先改变状态的实例的返回值.
第一次
1.v-for 为什么使用key? 为了更加高效的更新虚拟DOM. 2.v-for 和 v-if 不能一起使用原因?(未知) v-for 和 v-if 一起使用时,v-for 具有比 v-if 更高的优先级. 这意味着v-if 将分别重复运行于每个v-for循环中.带来性能方面的浪费. 所以不推荐v-if 和 v-for 同事使用. 3.vue组件中data为什么必须是一个函数?(未知) 如果data是一个函数的话,这样每复用一次组件,就会返回一份新的data数据.相当于每个组件实例都有自己私有的数据空间,各个组件维护自己的数据,不会造成混乱.而单纯的写成对象的形式,就是所有组件共用了一个data,这样改一个全部修改. 参考链接:https://blog.csdn.net/nanzhuhe/article/details/105014418 4.第一次页面加载会触发哪几个钩子? beforeCreate, created, beforeMount, mounted 5.vue-router 有哪几种导航钩子?(未知) 三种 全局导航钩子 router.beforeEach(to, from, next): 路由改变前的钩子 router.beforeResolve router.afterEach : 路由改变后的钩子 路由独享钩子 beforeEnter 组件内的导航钩子 beforeRouteEnter 在进入当前组件对应的路由前调用 beforeRouteUpdate 在当前路由改变,但是该组件被复用时调用 beforeRouteLeave 在离开当前组件对应的路由前调用 参考链接:https://blog.csdn.net/weixin_43900414/article/details/95441512 6.vuex有哪几种属性? 有五种,分别是 State、 Getter、Mutation 、Action、 Module state => 基本数据(数据源存放地) getters => 从基本数据派生出来的数据 mutations => 提交更改数据的方法,同步! actions => 像一个装饰器,包裹mutations,使之可以异步。 modules => 模块化Vuex 7.怎么理解Vue的单向数据流? vue中的数据一般是从父组件传到子组件,子组件没有权利修改父组件传递过来的值. 也就是说子组件从props获取的数据,只能请求父组件修改数据再传给子组件,父级属性值更新会下行流动到子组件. 8.vue优化? (组件按需导入,路由懒加载,公共组件,样式提取,图片压缩) 源码优化. 1)代码模块化.重复的代码封装成单独的组件. 2)v-for循环设置key值 3)路由懒加载 4)UI组件按需导入 打包优化 9. ES6新增了哪些特性? let 关键字 箭头函数 字符串模板 ES6中set集合和Map集合 Promise规范 扩展运算符(…) 用于取出参数对象中的所有可遍历属性 10.forEach 和 map 的区别? 11.数组去重? Set去重 双重for循环去重 indexOf/Includes filters sort Map数据结构 hasOwnProperty 递归去重 reduce+includes 利用对象的属性不能相同的特点进行去重
// Set去重
Array.form(new Set(arr)) / [...new Set(arr)]
// 双重for循环去重
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.legnth; j++) {
if (arr[i] == arr[j]) {
arr.splice(j, 1) // splice() 方法会改变原始数组。
j--;
}
}
}
// indexOf / includes
for (var i = 0; i < arr.length; i++) {
if (array.indexOf(arr[i]) === -1) {
array.push(arr[i])
}
if(!array.includes(arr[i])){
array.push(arr[i])
}
}
// filter
function unique(arr){
return arr.filter(function(item,index,arr){
return arr.indexOf(item,0) == index
})
}
参考连接:https://segmentfault.com/a/1190000016418021 12.v-if 和 v-show 的区别? 13.有没有封装过二次组件?
第二次
1.css3 有哪些新特性? 动画 animation 过渡 transition 阴影 box-shadow 形状转化 transform 渐变 圆角 2.对BFC规范的理解?
第三次
1.闭包? 定义:能够读取其他函数内部变量的函数.
参考链接:https://www.runoob.com/w3cnote/javascript-promise-object.html
|