JavaScript中对象的生命周期

JavaScript中对象的生命周期

一切皆对象

其实,我们已经了解到了,JavaScript中,所有的东西都是对象,也就是所谓的“Object”
类型,但是,在JavaScript中,并没有真正的类的概念,所以,此处的对象并不像是Java或者Python中的那样,是由类实例化而来的,而是由键和值来组成的,对象其实就是以键命名的值的容器。

比如,我们使用typeof来检查一个数组的类型,会发现,其实数组也是一个Object

1
2
3
let a = []
typeof a
// "object"
阅读更多
JavaScript引擎的工作原理探析
深入了解JavaScript中的基本变量类型
通过一个小例子理解JavaScript中的函数调用过程

通过一个小例子理解JavaScript中的函数调用过程

函数调用栈

调用栈,具有LIFO(Last in, First out 后进先出)结构,用于存储在代码执行期间创建的所有执行上下文。

当JavaScript引擎首次读取脚本时,会创建一个全局执行上下文并将其push
到当前执行栈中。每当发生函数调用时,引擎都会为该函数创建一个新的执行上下文并push到当前执行栈的栈顶。

引擎会运行执行上下文在执行栈栈顶的函数,根据LIFO规则,当此函数运行完成后,其对应的执行上下文将会从执行栈中pop
出,上下文控制权将转到当前执行栈的下一个执行上下文。

阅读更多