那些年成为node攻城狮的路(四)

ECMAScript
  • 变量,ECMAScript包含两种数据类型的值:基本类型值和引用类型值,在将一个值赋给变量时,解析器必须确定这个值是基本类型还是引用类型。

    • Undefined、Null、String、Number、Boolean都是按值访问,可以操作保存在变量中的实际值。(栈内存)
  • 引用类型的值保存在内存中(堆内存),操作对象时,实际操作的是对象的引用。

  • 基本类型复制变量值


    那些年成为node攻城狮的路(四)_第1张图片
    Paste_Image.png
  • 引用类型复制变量值

那些年成为node攻城狮的路(四)_第2张图片
Paste_Image.png
  • 参数传递,javascript中都是按照值传递,在向参数传递基本类型时,传递的值会被复制一个给局部变量;在向参数传递引用类型时,传递的值会被复制一个引用给局部变量(引用类型的值包含的并不是对象本身而是指向对象的一个指针)

  • 类型检测
    typeof检测基本数据类型,instanceof检测引用类型。检测数组类型Array.isArray()

javascript中分为全局环境和局部环境,并且没有块级作用域,使用var声明的变量被分配到最近的环境中,垃圾收集采用标记清除法,即当前不使用的值加上标记,然后回收其内存(不用的对象置null解除引用)。

你可能感兴趣的:(那些年成为node攻城狮的路(四))