javascript 基本类型和引用类型
1. 基本类型源自一下5种基本数据类型:undefined,null,boolean,number, string
2. 基本类型和引用类型具有以下特点:
1. 基本类型值在内存中占据固定大小空间,保存在栈中。
2. 从一个变量向另一个变量复制基本类型的值,会创建这个值得一个副本。
3. 引用类型的值是对象,保存在堆中。
4. 包含引用类型值得变量实际上包含的并不是对象本身,而是一个指向该对象的指针。
5. 从一个变量向另一个变量复制引用类型的值,复制的其实是指针,因此两个变量最终都指向同一个对象。
6. 确定一个值是哪种基本类型,可以用typeof. 而确定一个值是哪种引用类型用instanceof。
7. 所以变量都存在于一个执行环境(也称作用域)当中,这个环境决定了变量的生命周期,以及哪一步份代码可以访问其中的变量。
a. 全局和函数环境.
b. 每次进入一个新的执行环境,都会创建一个用于搜索变量的函数的作用域链.
c. 函数的局部环境不仅有权访问函数作用域中的变量,而且有权访问其包含(父)环境,乃至全局对象
d. 全局环境只能访问在全局环境中定义的变量和函数,而不能直接访问局部环境中的任何数据。
e. 变量的执行环境有助于确定应该何时释放内存。