11V8工作原理:栈空间和堆空间——数据是如何存储的?

1.JavaScript 是什么类型的语言?

2.内存空间

1.JavaScript 是什么类型的语言?

11V8工作原理:栈空间和堆空间——数据是如何存储的?_第1张图片

  • 弱类型:意味着你不需要JavaScript引擎声明的变量是什么类型,JavaScript引擎在运行代码时候会自己算出来
  • 动态:可以使用同一个变量保存不同类型的数据
var bar
bar = 12 
bar = "极客时间"
bar = true
bar = null
bar = {name:"极客时间"}

2.内存空间

11V8工作原理:栈空间和堆空间——数据是如何存储的?_第2张图片
原始类型:Boolean、Null、Undefined、Number、String、Symbol
引用类型: Object


function foo(){
    var a = "极客时间"
    var b = a
    var c = {name:"极客时间"}
    var d = c
}
foo()

11V8工作原理:栈空间和堆空间——数据是如何存储的?_第3张图片

  • 基本类型的数据值都是直接保存在“栈”中,其赋值是完整复制变量值
  • 而引用类型的值都是存放在“堆”中,“栈”中保存引用类型的引用地址,其赋值是赋值引用地址

你可能感兴趣的:(浏览器工作原理与实践)