首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
小竹子BAMBOO
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
宏任务和微任务:不是所有任务都是一个待遇
微任务和宏任务是绑定的,每个宏任务在执行时,会创建自己的微任务队列。 微任务的执行时长会影响到当前宏任务的时长。比如一个宏任务在执行过程中,产生了 100 个微任务,执行每个微任务的时间是 10 毫秒
WebAPI:XMLHttpRequest是怎么实现的?
setTimeout 是直接将延迟任务添加到延迟队列中,而 XMLHttpRequest 发起请求,是由浏览器的其他进程或者线程去执行,然后再将执行结果 利用 IPC 的方式通知渲染进程,之后渲染进程
WebAPI:setTimeout是如何实现的?
在 Chrome 中除了正常使用的消息队列之外,还有另外一个消息队列,这个队列中维护了需要延迟执行的任务列表,包括了定时器和 Chromium 内部一些需要延迟执行的任务。
消息队列和事件循环:页面是怎么“活”起来的?
页面线程所有执行的任务都来自于消息队列。消息队列是“先进先出”的属性,也就是说放入队列中的任务,需要等待前面的任务被执行完,才会被执行。鉴于这个属性,就有如下两个问题需要解决。
编译器和解释器:V8是如何执行一段JavaScript代码的?
编译器(Compiler)、解释器(Interpreter)、抽象语法树(AST)、字节码 (Bytecode)、即时编译器(JIT)
垃圾回收:垃圾数据是如何自动回收的?
栈回收:记录当前执行状态的指针(称为 ESP)下移操作就是销毁 showName 函数执行上下文的过程。JavaScript 引擎会通过向下移动 ESP 来销毁该函数保存在栈中的执行上下文。
栈空间和堆空间:数据是如何存储的?
对象类型是存放在堆空间的,在栈空间中只是保留了对象的引用地址,当 JavaScript 需要访问该数据的时候,是通过栈中的引用地址来访问的,相当于多了一道转手流程。
this:从JavaScript执行上下文的视角讲清楚this
作用域链和this是两套不同的系统,它们之间基本没太多联系。在前期明确这点,可以避免你在学习 this 的过程中,和作用域产生一些不必要的关联。
作用域链和闭包 :代码中出现相同的变量,JavaScript引擎是如何选择的?
根据词法作用域,foo 和 bar 的上级作用域都是全局作用域,所以如果 foo 或者 bar 函数使用了一个它们没有定义的变量,那么它们会到全局作用域去查找。
块级作用域:var缺陷以及为什么要引入let和const?
“探病因”——分析为什么在 JavaScript 中会存在变量提升,以及变量提升所带来的问题缺陷;然后“开药方”——介绍如何通过块级作用域并配合 let 和 const 关键字来修复这种缺陷。
下一页
个人成就
文章被点赞
5
文章被阅读
6,432
掘力值
581
关注了
4
关注者
1
收藏集
0
关注标签
1
加入于
2019-06-28