web worker
- 允许一段 JavaScript 程序运行在主线程之外的另外一个线程中。 1.
js中的blob
todo 内容较多,慢慢研究
- Blob = Binary Large Object的缩写,直译为二进制大对象
- Blob 对象表示一个不可变、原始数据的类文件对象
- 创建blob
- let blob = new Blob(Array,options)
- blob的属性
- blob.size -----blob对象的大小(字节)
- blob.type ----获取文件类型
- 方法
- 切片 blob.slice(0,5,'text/plain')
URL
todo 文档不清晰,且涉及比较多,只看几个demo
- 实验中的api
- 用于创建和管理对象URLs的静态方法
- 作用
- 根据url创建一个类似于location的对象 2. var a = new URL('www.baidu.com?q=URLUtils.searchParams&topic=api') 3. 可以自动解析一些东西:a.searchParams.has("topic")===true 4. a.searchParams.get("topic") === "api";
- 创建一个 DOMString
- objectURL = URL.createObjectURL(blob);
- 返回一段带hash的url,并且一直存储在内存中,直到document触发了unload事件(例如:document close)或者执行revokeObjectURL来释放。
- objectURL 可以赋值给img的src或者video的src
JSON.stringify
- var str = {"name":"菜鸟教程", "site":"www.runoob.com"}
- str_pretty2 = JSON.stringify(str, null, 4) //使用四个空格缩进
- 第二个参数如果是数组,根据数组获取对应的键
- 第二个参数如果是函数
- 如果replacer是一个函数,它首先会被该对象调用一次,然后该对象的每个属性会调用一次,每次都会给这个函数传递两个值,key和value。想在序列化过程中跳过某个key,只需要返回undefined,否则返回提供的value。
const obj = {
a: 0,
b: 1,
c: [0, 1, 2]
}
JSON.stringify(obj,['a', 'c']) // "{"a":0,"c":[0,1,2]}"
JSON.stringify(obj,(key,value)=>{
if(key !== 'b'){
return value
}
})