
变秃了也变强了
文章平均质量分 72
lazy_tomato
wx w2505655377
展开
-
15.4 宏任务和微任务
Promise。原创 2023-01-04 19:16:50 · 569 阅读 · 0 评论 -
15.3 event loop 事件循环
如果排队是因为计算量大,CPU 忙不过来,倒也算了,但是很多时候 CPU 是闲着的,因为 IO 设备(输入输出设备)很慢(比如 Ajax 操作从网络读取数据),不得不等着结果出来,再往下执行。那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行。执行JS的是单线程不假,但是异步操作,可借用宿主环境(浏览器)提供的WebApi,启动对应的线程进行工作,例如网络请求,文件读取。简单来书:JS 只有一个主线程,主线程执行完执行栈的任务后去检查异步的任务队列,如果异步事件触发,则将其加到主线程的执行栈。原创 2023-01-04 19:15:12 · 439 阅读 · 0 评论 -
15.2 浏览器中的进程
但是单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。上面说了一堆进程,有点晕,我们查看一下浏览器的任务管理器,用可视化的方式来看看进程。第三方插件进程:每种类型的插件对应一个进程,仅当使用该插件时才创建。页面的渲染,JS 的执行,事件的循环,都在这个进程内进行。执行 JS 的代码的,其实只是渲染进程中的一个线程而已。看到上图的任务管理器,可以验证我们所说的进程分类。简单来说,记住一点,浏览器是由多个进程组成的。Browser 进程:主进程,只有一个。一个进程中可以有一个或多个线程。原创 2023-01-04 19:14:50 · 661 阅读 · 0 评论 -
15.1 区分进程和线程
然后再巩固下:如果是 windows 电脑中,可以打开任务管理器,可以看到有一个后台进程列表。对,那里就是查看进程的地方,而且可以看到每个进程的内存资源信息以及 cpu 占有率。所以,应该更容易理解了:进程是 cpu 资源分配的最小单位(系统会给它分配内存)转载 2022-12-14 20:02:38 · 149 阅读 · 0 评论 -
19.1 轻松掌握 XMLHttpRequest
在 open() 方法和 send() 方法中间才有效;可以实现,无需卸载页面即可向服务器请求额外的数据。是一个对象,由浏览器提供,最早由 IE5 引入。方法如果不传递参数,则必须传。IE8 以下有兼容性问题;原创 2022-12-14 19:59:20 · 469 阅读 · 0 评论