下面是我在学习HTML和CSS的时候整理的一些笔记,有兴趣的可以看下:
进阶阶段
进阶阶段,开始攻 JS,对于刚接触 JS 的初学者,确实比学习 HTML 和 CSS 有难度,但是只要肯下功夫,这部分对于你来说,也不是什么大问题。
JS 内容涉及到的知识点较多,看到网上有很多人建议你从头到尾抱着那本《JavaScript高级程序设计》学,我是不建议的,毕竟刚接触 JS 谁能看得下去,当时我也不能,也没那样做。
我这部分的学习技巧是,增加次数,减少单次看的内容。就是说,第一遍学习 JS 走马观花的看,看个大概,去找视频以及网站学习,不建议直接看书。因为看书看不下去的时候很打击你学下去的信心。
然后通过一些网站的小例子,开始动手敲代码,一定要去实践、实践、实践,这一遍是为了更好的去熟悉 JS 的语法。别只顾着来回的看知识点,眼高手低可不是个好习惯,我在这吃过亏,你懂的。
1、JavaScript 和 ES6
在这个过程你会发现,有很多 JS 知识点你并不能更好的理解为什么这么设计,以及这样设计的好处是什么,这就逼着让你去学习这单个知识点的来龙去脉,去哪学?第一,书籍,我知道你不喜欢看,我最近通过刷大厂面试题整理了一份前端核心知识笔记,比较书籍更精简,一句废话都没有,这份笔记也让我通过跳槽从8k涨成20k。
2、前端框架
前端框架太多了,真的学不动了,别慌,其实对于前端的三大马车,Angular、React、Vue 只要把其中一种框架学明白,底层原理实现,其他两个学起来不会很吃力,这也取决于你以后就职的公司要求你会哪一个框架了,当然,会的越多越好,但是往往每个人的时间是有限的,对于自学的学生,或者即将面试找工作的人,当然要选择一门框架深挖原理。
以 Vue 为例,我整理了如下的面试题。
}
- name:声明组件名称
name: "Template",
- data:存储、传递数据
data(){
return{
intro:'huankai',
baidu:'www.baidu.com'
}
},
组件中使用数据的几种方式:
① 双括号表达式{{}}——直接获取数据
② 强制数据绑定v-bind:或者:——将数据绑定在标签上,比如于a标签href等
③ 强制事件绑定v-on:click或者@click——将方法绑定在标签上
- methods:声明所有的方法函数
methods:{
study(name){
// name如果没有接收到值的话,默认是一个事件对象。类型为object
alert(${typeof name==="string"?name:""}祝你学有所成)
}
}
- computed:定义计算属性.
Ⅰ、作用:
① 减少模板中的计算逻辑
② 进行数据缓存
③ 依赖固定的数据类型(响应式数据)
Ⅱ、使用:
① 在computed属性对象中定义计算属性的方法
② 在页面中使用{{方法名}}来显示计算的结果
③ 通过getter和setter实现对属性数据的显示和监视
Ⅲ、get()和set()
① 通过get()可以返回计算属性的值
② 通过set(value)可以触发修改计算属性时事件,其中value为更改后的计算属性的值。
computed: { // 配置计算属性
// 计算属性 姓名
fullNameOne: { // 单向
get() {
return this.firstName + '·' + this.lastName;
}
},
fullNameTwo: { // 双向
get() {
return this.firstName + '·' + this.lastName;
},
set(value) {
let name = value.split('·');
this.firstName = name[0];
this.lastName = name[1];
}
}
}
- watch:侦听器
Ⅰ、作用:
① 比computed更加灵活
② watch中可以执行任何逻辑,比如:函数节流、Ajax异步获取、甚至操作DOM
③ 依赖固定的数据类型(响应式数据)
Ⅱ、使用:
① 通过vm对象的$watch()或者watch配置来监视指定的属性
② 当属性变化时,回调函数自动调用,在函数内部进行计算
watch: {// 配置监听watch
// 监听firstName
firstName(value) {
//console.log(watch监视到firstName发生改变:${value});
this.fullNameThree = value + '·' + this.lastName;
},
lastName(value) {
//console.log(watch监视到lastName发生改变:${value});
this.fullNameThree = this.firstName + '·' + value;
}
}
computed和watch总结
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