浏览器组成
WEB APIs(浏览器提供的js对象)
{
DOM(document)
ajax(XMLHTTPRequest)
setTimeout
}
v8引擎{
堆,
调用栈
}
event loop
callback queue(调用队列){ onclick onload ondone}
栈和队列循环,先执行栈里函数,再看队列里是否有函数
死递归导致栈溢出异常
function foo(){
return foo();
}
同步阻塞
第一件事没有完成,第二件事不会开始
一个函数没有执行完,其他函数无法进栈
异步回调
回调函数放在队列
在线动画演示代码异步执行
http://latentflip.com/loupe
参考视频
https://www.youtube.com/watch?v=8aGhZQkoFbQ
本文深入解析浏览器的组成部分,包括WEBAPIs如DOM、AJAX,V8引擎的堆与调用栈,以及事件循环机制。阐述了同步与异步函数执行的区别,以及如何处理死递归和栈溢出异常。
2005

被折叠的 条评论
为什么被折叠?



