Vue 面试题
1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?
…
算法
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
- 冒泡排序
- 选择排序
- 快速排序
- 二叉树查找: 最大值、最小值、固定值
- 二叉树遍历
- 二叉树的最大深度
- 给予链表中的任一节点,把它删除掉
- 链表倒叙
- 如何判断一个单链表有环
- 给定一个有序数组,找出两个数相加为一个目标数
…
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666
Js
8、Es6 let、const、class、箭头函数、 promise、ansync await、module模块化
Var 命令和function命令声明的全局变量是顶层对象的属性
Let 、const、class、声明的全局变量,不属于顶层对象的属性,也就是说,从es6开始,全局变量将逐步与顶层对象的属性脱离
var a = 1;
// 如果在Node的REPL环境,可以写成global.a
// 或者采用通用方法,写成this.a
window.a // 1
let b = 1;
window.b // undefined
//const 生命的变量是不可变得变量
const c = 1;
c=2 //会报错
Es6对象和数组的复制
数组:
let arrA = [1,2,3];
let arrB = […arrA];
对象
let objA = {a:1,b:2,c:3}
let objB = {…objA};
//有了 async await 之后; 当执行到await的时候就会等待timeOut(1);返回值之后再往下执行;
function timeOut(num) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(2 * num)
}, 2000);
} )
}
async function name() {
let a = await timeOut(1);
let b = await timeOut(2);
console.log(a + b);
}
name();
Let 和 var的区别
相同点:都是定义变量关键字。
区别:
作用域只限制与当前代码模块—var的作用域则是函数体function(){}
使用let声明变量的作用域不会提示-------var 会自动提升
在相同的作用域下不能有相同的变量,否则会报错 -------var 中则可以出现相同变量名,不会报错
Let和const 区别
相同:都是es6新特性
定义变量关键字
作用域一样
都是不能重复声明相同的变量
区别点:
Let是声明普通变量的,const是声明常量的
Let初始化可以不用赋值,const初始化必须赋值
Let声明的变量值是可以被修改的 const声明的变量不能修改值,否则报错
Se6 中的class 其实就是构造函数的另一种写法
2.什么是闭包?
闭包就是定义就是:定义在一个函数内部的函数。
function fn1 () {
var a = 2 var
b = ‘abc’
function fn2 () {
console.log(a)
}
}
fn1()
闭包的特点: 1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状态。 2. 一个闭包就是当一个函数返回时,一个没有释放资源的栈区。
闭包的用途:
读取函数内部的变量和就是让这些变量的值始终保存在内存中,不会再fn1调用后被自动清除。
闭包缺点:
内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在ie中可能导致内存泄漏,解决办法是,在退出函数之前,将不使用的局部变量全部删除。
mvc与mvvm的区别
Mvvm(angular)真正的意义是将页面和数据逻辑分离的模式,把数据绑定工作放到一个js里面去实现,而这个js的主要目的就是完成数据的绑定。更重要的是双向绑定,更方便的维护页面,而不用手动更新他们。
在mvc中model不依赖view,但是view依赖model,因为业务逻辑代码在view里面实现,导致view更改也是比较困难的,最后业务逻辑是无法重用的。
Mvvm的优点:
低耦合
可重用性
独立开发
可测试性
Js 数组有哪些方法?
Join()
Push() pop()
Shift()unshit()
Splice()slice()
Concat()
Map() forEach()
IndexOf()
Ervery() sort()
- js 判断一个对象是否属于某一类
1.) typeof
image.png
2.) Instanceof
Vue 面试题
1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?
…
算法
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
- 冒泡排序
- 选择排序
- 快速排序
- 二叉树查找: 最大值、最小值、固定值
- 二叉树遍历
- 二叉树的最大深度
- 给予链表中的任一节点,把它删除掉
- 链表倒叙
- 如何判断一个单链表有环
- 给定一个有序数组,找出两个数相加为一个目标数
…
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666
bs.csdn.net/topics/618166371)**
- 冒泡排序
- 选择排序
- 快速排序
- 二叉树查找: 最大值、最小值、固定值
- 二叉树遍历
- 二叉树的最大深度
- 给予链表中的任一节点,把它删除掉
- 链表倒叙
- 如何判断一个单链表有环
- 给定一个有序数组,找出两个数相加为一个目标数
…
[外链图片转存中…(img-UlU0CDLt-1714996125520)]
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666