赞
踩
例子:指定多少毫秒后输出一个值
function timer(ms) {
return new Promise(resolve=> {
setTimeout(resolve,ms)
})
}
async function asyncPrint(value, ms) {
await timer(ms)
console.log(value)
}
async('hello wold',50)
async function async1() { console.log('async1 start'); 1 await async2(); console.log('async1 end'); } async function async2() { console.log('async2'); 1 } console.log('script start'); 1 setTimeout(function() { console.log('setTimeout'); 1 }, 0); async1(); new Promise(function(resolve) { console.log('promise1'); 1 resolve(); }).then(function() { console.log('promise2'); 1 }); console.log('script end'); 1
事件循环:
首先执行同步代码,进入执行栈
执行过程中遇到异步就就放入消息队列中
消息队列有微任务和宏任务
因此我们需要得到域名对应的ip地址
这个过程需要依赖一个服务系统,将域名和ip一一对应
DNS(域名系统)
得到具体的ip过程就叫DNS解析
如果一个域名已经解析过来,那么解析后的结果会被缓存下来
下次处理就可以直接走缓存 不需要经过DNS解析
如果不需要等待,就会进入tcp连接阶段
tcp 是一种面向连接,可靠的,基于字节流的传输层通信协议
tcp三次握手
Connection: Keep-Alive,表示建立了持久连接,这样TCP连接会一直保持,之后请求统一站点的资源会复用这个连接。
构建DOM树
词法分析和语法分析
样式计算
link标签引用
style标签中的样式
元素的内嵌style属性
这棵布局树值包含可见元素,对于 head标签和设置了display: none的元素,将不会被放入其中。
差不多是这个
onDecrypt([
["今","天","上","一","新","影"],
["晚","我","起","上","《","》"],
["们","去","映","流","好","听"],
["看","的","浪","不","小","非"],
["电","地","好","李","常","得"],
["球","?","说","值","看","!"]
])
将上面代码,按一定顺序打印成完整一句话,运行结果:
‘今天晚上我们一起去看新上映的电影《流浪地球》好不好?听小李说非常值得看!’
function onDecrypt(arr) { let str = ''; let len = arr.length; let r = 0, c = 0; for (let i = 0; i < len; i++) { for (r = 0, c = i; r <= i && c >= 0; r++, c--) { str += arr[r][c] } } for (let i = 1; i < len; i++) { for (r = i, c = len - 1; r <= len - 1&& c >= i; r++, c--) { str += arr[r][c] } } return str } console.log(onDecrypt(arr)) // 今天晚上我们一起去看新上映的电影《流浪地球》好不好?听小李说非常值得看!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。