createObjectURL
createObjectURL 是什么 URL.createObjectURL() 静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的 URL。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的 URL 对象表示指定的 File 对象或 Blob 对象。 — MDN Blob URL/Object URL Blob URL/Ob...
createObjectURL 是什么 URL.createObjectURL() 静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的 URL。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的 URL 对象表示指定的 File 对象或 Blob 对象。 — MDN Blob URL/Object URL Blob URL/Ob...
原型与原型链 实例与构造函数原型之间有直接的联系,但实例与构造函数之间没有。 每个函数都有一个属性,就是 prototype,函数的 prototype 指向了一个对象,这个对象就是调用该构造函数创建的实例的原型。 可以这么理解:每一个 JavaScript 对象(null 除外)在创建的时候就会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型“继承”属性。实例 p...
虚假的洗牌算法 最常见的: const shuffle = (list) => list.sort((x, y) => Math.random() - 0.5) 可这并不合理,对于这个数组:[1,2,3,4,5],每个数字出现在每个位置的概率应该是相同的。然而使用以上算法,1 出现在 index=4 位置的概率 与 4 出现在 index=4 的概率并不相同。 真正的洗...
关于setTimeout 首先要明白,setTimeout 的执行只是在内存中对元素属性进行改变,这个变化必须要等到屏幕下次绘制时才会被更新到屏幕上。如果两者的步调不一致,就可能会导致中间某一帧的操作被跨越过去,而直接更新下一帧的元素。假设屏幕每隔16.7ms刷新一次,而setTimeout 每隔10ms设置图像向左移动1px, 就会出现如下绘制过程(表格): 第 0 ms:...
三次握手 • 第一次握手([SYN], Seq = x) 客户端发送一个SYN标记的包,Seq初始序列号x,发送完成后客户端进入SYN_SEND状态。 • 第二次握手([SYN,ACK], Seq = y, ACK = x + 1) 服务器返回确认包(ACK)应答,同时还要发送一个SYN包回去。ACK = x + 1,表示确认收到(客户端发来的Seq值 + 1),Seq = y, 表示让客户...
使用better-scroll遇到的问题 原来项目中只使用了better-scroll来做轮播图和滑动组件,但是头部和标签栏是固定的,只滑动下面部分,于是设置 scroll-warpper样式如下: .scroll-wrapper { position: absolute; top: 80px; left: 0; right: 0; bottom: 0; } 但是想要实...
箭头函数中的this 它们没有 this。在箭头函数内部访问到的 this 都是从外部获取的。 可选链 通常我们这样写 let user = {}; // user 没有 address alert( user && user.address && user.address.street ); // undefined(不报错) ...
vue的mixin 当有多个组件写了多个同样的语句时,可以使用vue的mixin机制 创建一个utils/mixin.js文件,内容如下: import { mapGetters, mapActions } from 'vuex' export const bookMixin = { computed: { ...mapGetters(['bookName', 'boo...
关于 vue.filters 可以写在单个组件内,也可以单独写全局的然后加到 main.js 中,像是日期格式,数字格式就可以写在全局 ~~和!! ~是按位取反运算,~~是取反两次。 ~~的作用是去掉小数部分,因为位运算的操作值要求是整数,其结果也是整数,所以经过位运算的都会自动变成整数。 !一个!是取反,!!两个再取反,就是强制转换成 Boolen 类型 关于 markdown 语...
Express 三大基础概念 中间件 中间件是一个函数,在请求和响应周期中被顺序调用 const myLogger = function(req, res, next) { console.log('myLogger') next() } app.use(myLogger) 提示:中间件需要在响应结束前被调用 路由 应用如何响应请求的一种规则 响应 / 路径的 get 请求: ...