前端博客
[toc]
要秋招了,求Star...
其他
分号的问题
平时我写JavaScript代码的时候习惯不加分号,因为这样子代码看着更加简洁,不过有的时候必须得加
let y = 2
let x = 1
[y, x] = [x, y]
以上代码就被会当成
let y = 2
let x = 1[y, x] = [x, y]
forEach中的async
function handle(x) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(x)
}, 1000 * x)
})
}
async function test() {
const arr = [4, 2, 1]
arr.forEach(async item => {
const res = await handle(item)
console.log(res)
})
}
// 等价于
async function test() {
const arr = [4, 2, 1]
async function A(item) {
const res = await handle(item)
console.log(res)
}
A(4)
A(2)
A(1)
}
期望的结果
4
2
1
结束
实际上的输出
结束
1
2
4
这是由于第一个函数的执行并没有阻塞第二个函数的执行。
解决方案
async function test() {
let arr = [4, 2, 1]
for (let i of arr) {
let res = await handle(i)
console.log(res);
}
console.log('结束')
}
移动端300ms延迟
以前的移动端网页,点击事件会有个300ms的延迟,Fastclick库就是为了解决这个问题的。
不过现代化的浏览器已经没有这问题了。
<meta name="viewport" content="width=device-width, initial-scale=1">
二维码登录流程
参考链接
本博客攥写过程中所参考过的网站/博客,或是一些个人觉得十分有价值的网站。目前就放了几个链接,以后会把更多优质的链接放在下面