javascript 基本类型和引用类型

1. 基本类型源自一下5种基本数据类型:undefined,null,boolean,number, string

2. 基本类型和引用类型具有以下特点:

  1. 基本类型值在内存中占据固定大小空间,保存在栈中。

  2. 从一个变量向另一个变量复制基本类型的值,会创建这个值得一个副本。

  3. 引用类型的值是对象,保存在堆中。

  4. 包含引用类型值得变量实际上包含的并不是对象本身,而是一个指向该对象的指针。

  5. 从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终都指向同一个对象。

  6. 确定一个值是哪种基本类型,可以用typeof. 而确定一个值是哪种引用类型用instanceof。

  7. 所以变量都存在于一个执行环境(也称作用域)当中,这个环境决定了变量的生命周期,以及哪一步份代码可以访问其中的变量。

    a. 全局和函数环境.

    b. 每次进入一个新的执行环境,都会创建一个用于搜索变量的函数的作用域链.

    c. 函数的局部环境不仅有权访问函数作用域中的变量,而且有权访问其包含(父)环境,乃至全局对象

    d. 全局环境只能访问在全局环境中定义的变量和函数,而不能直接访问局部环境中的任何数据。

    e. 变量的执行环境有助于确定应该何时释放内存。

原文地址:https://www.cnblogs.com/yk00/p/4740914.html