js进阶六:JSON,离线存储,WebSocket,画布,音频视频

JavaScript05

js进阶六:JSON,离线存储,WebSocket,画布,音频视频,第1张

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和flow

babel 和 flow 安装后, yarn run flow init ,生成 .flowconfig 文件

在 pacakge.json ,scripts中添加 "flow": "flow"

yarn run flow 来检测有无错误

yarn run build 将文件打包到 lib 文件夹下,此时打包好的文件已经经过 babel 的处理,可以正常运行

求和函数

不用 flow 的错误处理逻辑如下

会报错,因为类型推断 c 不可能是 string