阻塞和非阻塞
总结:同步、异步:只是对于热水壶。普通水壶代表同步;响水壶代表异步。虽然都能干活,但响水壶可以在自己完工之后,提示小杨水开了。
阻塞、非阻塞:仅仅代表小杨,立等的属于阻塞(1,3);干别的事了属于非阻塞(2,4)。
所以在上述同步阻塞、同步非阻塞、异步阻塞、异步非阻塞中,异步非阻塞情况下效率较高。
同步和异步的区分
同步含义是“一起”,异步含义是“一边……一边……”
在编程思想里面理解为:
同步:代码的书写顺序和代码的执行顺序一样
异步:代码的书写顺序和代码的执行顺序不一样
例如:setTimeout() btn.onclick = function(){}
console.log("start")
// 先获取button按钮 document文档--->html文档
var btn = document.getElementById("btn") // = 赋值运算符
// 给按钮注册一个点击事件 btn叫事件源 click叫事件名 function(){} 函数 当事件发生时,做什么
// 异步代码
btn.onclick = function(){
alert("登录成功了....")
}
console.log("end")
同步、异步执行顺序:(任务一和任务三是同步任务,任务二是异步任务)
总结:一种是同步任务,另一种是异步任务。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务指的是,不进入主线程、而进入"异步任务队列"的任务,只有等主线程任务执行完毕,"异步任务队列"开始通知主线程,请求执行任务,该任务才会进入主线程执行。
硅谷外卖
nodemon:自动重启项目工程
单页面应用
动手实现一个单页面应用
单页面应用 VS 多页面应用
vue单页面应用的原理
开发环境、生产环境
base64编码
小图片,减少请求的次数
图片Base64编码
stylus
stylus:CSS的预处理框架,即将stylus转换为css使用
stylus-loader:让webpack理解stylus
stylus和stylus-loader使用
eslint
解决点击响应延时 0.3s 问题
如何解决移动端Click事件300ms延迟的问题?
Vue移动端viewport设置和解决点击响应延时0.3s问题
Vue Router
Vue Router官方文档
使用 router-view 和 router-link 实现嵌套路由
vue之router-view组件的使用
$route和 $router
可以理解为$route用来获取路由信息的, $router是用来操作路由的
$router: 路由器对象, 包含一些操作路由的功能函数, 来实现编程式导航(跳转路由)
$route: 当前路由对象, 一些当前路由信息数据的容器, path/meta/query/params
插槽
插槽官方文档
彻底搞懂slot插槽,图文详解
一次性讲明白vue插槽slot
.gitignore
高阶函数
watch+$nextTick
this.$nextTick()官方介绍:将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自动绑定到调用它的实例上。
VUE 关于理解$nextTick()的问题
MSite.vue:
watch: {
categorys (value) { // categorys数组中有数据了, 在异步更新界面之前执行
// 使用setTimeout可以实现效果, 但不是太好
/*setTimeou