sessionStorage 数据创建到浏览器页签关闭
localStorage数据创建到用户手动清除,或者使用clear(), removeItem(key)删除
sessionStorage 条件:同一个浏览器页签
localStorage 条件:相同域名(协议,域名,端口)的不同网址
频繁操作且安全性不高的数据
增加一条数据
根据key值获取一条数据
根据指定的key删除一条数据
清除所有数据
获取指定索引位的key值
数据项个数
宽高不要写单位,宽高不要在css中设置
默认从左到右,从上到下绘制,宽高为负值的时候往返方向绘制
设置填充颜色(可设置渐变色)
合法的颜色值,rgba(255,255,255,.5)
设置描边颜色(可设置渐变色)
填充矩形
设置画笔宽度
描边矩形
开始绘制新的路径,相当于抬起画笔
把路径移动到画布中的指定点,不创建线条
添加一个新点,然后在画布中创建从该点到最后指定点的线条
设置或返回线条末端线帽的样式
设置或返回两条线相交时,所创建的拐角类型
创建从当前点回到起始点的路径,创建线条
绘制已定义的路径
清除指定区域内的像素
创建弧/曲线(用于创建圆形或部分圆)
绘制两条切线之间的弧线
设置或返回文本内容的当前字体属性
设置或返回文本内容的当前对齐方式,水平对齐方式
可选值: center,start ,end,left,right
设置或返回在绘制文本时使用的当前文本基线
可选值: alphabetic ,top ,hanging ,middle , ideographic ,bottom
在画布上绘制文本
创建线性渐变(用在画布内容上)
创建放射状/环形的渐变(用在画布内容上)
设置或返回用于阴影的颜色
设置或返回用于阴影的模糊级别
paint.shadowBlur = 100
设置阴影偏移
向画布上绘制图像、画布或视频
转换有叠加效果,如果之前有转换,会在之前转换的基础上再次转换
缩放当前绘图
旋转当前绘图
重新映射画布上的 (0,0) 位置
可选值:
设置或返回绘图的当前 alpha 或透明值
保存之前paint设置的样式
重新回到之前保存的样式
建立连接成功
接收服务器信息, even.data 包含返回的信息
发生错误
关闭通信
当音频元数据加载完毕时触发。
播放过程中实时触发
声音改变时触发
知识点:
面试题(一):
面试题(二):
第一种:方法调用
第二种:函数调用,里面的this指向的是window
第三种:构造函数调用:this指向调用它的对象
第四种:上下文调用模式,this指向谁?指向的是传入的对象
let var const 函数作用域 {}
1、在函数里面创建一个对象obj
2、将函数里面的this指向创建的那个对象obj
3、返回这个obj对象
闭包的概念:
闭包的使用场景:
闭包的问题:让变量得不到释放,增加内存使用率
给DOM 添加点击事件:
区别:onclick 会覆盖相同的事件,addEventListener会逐一的触发
DOM 事件三要素: 事件源, 事件类型, 事件处理程序
事件流程: 冒泡,捕获
ES5的继承
1、构造函数实现继承
2、借助原型是实现继承
3、组合方式实现继承
ES6的继承
深入学习可参考: https://juejin.im/post/5daeefc8e51d4524f007fb15?utm_source=gold_browser_extension#heading-22
安装babel和flowbabel 和 flow 安装后, yarn run flow init ,生成 .flowconfig 文件
在 pacakge.json ,scripts中添加 "flow": "flow"
yarn run flow 来检测有无错误
yarn run build 将文件打包到 lib 文件夹下,此时打包好的文件已经经过 babel 的处理,可以正常运行
求和函数
不用 flow 的错误处理逻辑如下
会报错,因为类型推断 c 不可能是 string