目录
什么是异步?
同步是一件事一件事的执行。只有前一个任务执行完毕,才能执行后一个任务。一般是等同步任务执行完毕再执行异步。
解决异步:回调和promise
promise:
h5新特性:
- sessionStorage(会话存储)和locaStorage(永久存储)
- HTML5新增的语义化标签主要有:<article>、<section>、<nav>、<aside>、<header>、<footer>、<time>等等...
- 音频 ,视频(audio, video)
三种定位的区别
-
相对定位:相对于自己
-
绝对定位:相对于父亲
-
固定定位:相对于浏览器窗口
CSS3
-
CSS3 圆角border-radius - 指定每个圆角
- 文本阴影(text-shadow)和盒子阴影(box-shadow)
-
background-size 属性
- CSS3 渐变(gradients)
- 过渡
- 动画
- 媒体查询
@media screen and (min-width: 480px) { body { background-color: lightgreen; }
-
push
-
pop
-
unshift
-
shift
-
slice截取数组
-
splice剪接数组,向/从数组中添加/删除项目,然后返回被删除的项目,该方法会改变原始数组,索引从0开始
-
concat 合并两个或多个数组,得到新数组
-
indexOf 数组元素索引,并返回元素索引,不存在返回-1,索引从0开始
-
join 数组转字符串
-
reverse
es6新增数组方法
1.foreach()
var arr = [1,2,3,4];
arr.foreach((item,index,arr)=>{
console.log(item); //结果为1,2,3,4
});
//foreach遍历数组,无返回值,不改变原数组,仅仅只是遍历,常用于注册组件、指令等等。
.map()
var arr = [1,2,3,4];
arr.map((item,index,arr)=>{
return item*10; //结果为10,20,30,40
});
//map遍历数组,返回一个新数组,不改变原数组
3.filter()
var arr = [1,2,3,4];
arr.filter((item,index,arr)=>{
return item >2; //结果为[3,4]
});
//filter过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组
4.reduce()
var arr = [1,2,3,4];
arr.reduce((result,item,index,arr)=>{
console.log(result);
console.log(item);
console.log(inddx);
return result+item;
});
//reduce让数组的前后两项进行某种计算,然后返回其值,并继续计算,不改变原数组,返回计算的最终结果,从数组的第二项开始遍历。
————————————————
5.some()
var arr = [1,2,3,4];
arr.some((item,index,arr)=>{
return item > 2; //返回true
});
//遍历数组每一项,有一项返回true,则停止遍历,结果返回true。不改变原数组。
6.every()
var arr = [1,2,3,4];
arr.every((item,index,arr)=>{
return item >1; //返回false
});
总结
- 以上6个方法均为ES6语法,IE9及以上才支持。不过可以通过babel转意支持IE低版本。以上均不改变原数组。
- some、every返回true、false。
- map、filter返回一个新数组。
- reduce让数组的前后两项进行某种计算,返回最终操作的结果。
- forEach 无返回值。
数组变异方法:
- push() //数组尾部追加一个元素
- pop() //数组尾部弹出一个元素
- shift() //数组头部弹出一个元素
- unshift() //数组头部插入一个元素
- splice() //删除或替换某一个元素
- sort() //按照特定的规则排序(数字根据从小到大排序,字符串根据unicode位点排序)
- reverse() //反转数组
数组非变异方法:
- filter() //过滤数组中某些元素,返回符合条件的元素组成的新数组
- concat() //合并两个或两个以上的数组,可以链式调用,返回合并后的数组
- slice() //切割数组中某一段元素,返回一个切割出来的数组
- map() //使用map方法会产生一个新的数组,数组的每一项就是我们return出去的值(所以map方法必须有返回值,如果没有return,那么新数组的每一项都为undefined),数组的个数与原数组一样
- some() //会遍历数组中的每个元素,让每个值都执行一遍callback函数,如果有一个元素满足条件,返回true , 剩余的元素不会再执行检测。如果没有满足条件的元素,则返回false。
- forEach() //遍历数组
- every() //检测数组所有元素是否满足条件
Vue-Router路由钩子函数(导航守卫)
路由钩子函数有三种:
1:全局钩子: beforeEach、 afterEach
2:单个路由里面的钩子: beforeEnter、 beforeLeave
3:组件路由:beforeRouteEnter、 beforeRouteUpdate、 beforeRouteLeave
全局守卫
router.beforeEach() 进入之前触发
router.afterEach() 进入之后触发
每个守卫方法接收三个参数:
①to: Route: 即将要进入的目标路由对象(to是一个对象,是将要进入的路由对象,可以用to.path调用路由对象中的属性)
②from: Route: 当前导航正要离开的路由
③next: Function: 这是一个必须需要调用的方法,执行效果依赖 next 方法的调用参数。
RESTful风格接口
用请求的类型不同,来表示不同的操作
vue组件通信
js作用域let/var/const
http协议
状态码
生命周期
模块化
forEach
路由守卫、钩子函数、守卫函数
git的常用命令
css自定义属性
怎么理解权重