css水平居中
css3动画 @keyframes
promise实现
改变this指向:
- 箭头函数
- 函数内部使用_this=this
- 使用call apply bind
- new关键字
apply接收的是数组,call接收参数列表
js继承方式
- 借用构造函数
- 组合继承
- 原型继承,后来别Object.create()规范化了
- 寄生
- 寄生组合
箭头函数
- this指向问题
- 不可以当做构造函数,无法使用new
- 不存在arguments对象,可用rest代替
Promise
- 有异步操作时,就要用到promise来封装
- reject方法等同于抛出错误
- 已经resolve了,就不能抛出错误了
- then方法中的第二个参数定义的是reject状态的回调函数,但是一般不这么做,一般是将promise所产生的错误统一由catch方法来捕获,因为promise的错误具有冒泡性质,用catch可以捕获then方法执行中的错误,类似于try…catch…
- finally方法意味着无论如何,最后都会执行它,比如关掉服务器
- 将多个promise实例,包装成一个新的promise实例
- resolve方法将现有对象转为promise对象
- reject类似于throw,是用来抛出错误的;catch是用来处理错误
- 如果在 then 的第一个函数里抛出了异常,后面的 catch 能捕获到,而第二个函数捕获不到
link和@import的区别
- link不仅可以引入css,还支持rss等其他事务;@import只支持css
- link在页面加载时同步引入css,@import需要等到页面加载完毕后才引入
事件绑定
- 行内绑定
- 动态绑定
- 事件监听
jq事件绑定
- bind,one,unbind
async await
navigator.userAgent获取浏览器版本
serviceworker 消息推送 离线缓存
xss 跨站脚本攻击
csrf 跨站请求伪造