JavaScript高级程序设计- 变量、作用域和内存问题
4 变量、作用域和内存问题 理解基本类型和引用类型 理解执行环境 理解垃圾收集 变量的值及其数据类型可以在脚本的生命周期内改变。 4.1基本类型和引用类型 基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。 ES5中 5 种基本数据类型: Undefined、 Null、 Boolean、 Number 和 String。这 5 种基本数据类型是按值访问的,因为可以操作保存在变量中的实际的值。ES6中新增Symbol 引用类型的值是保存在内存中的对象。 JavaScript 不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象,ES6中的Map,set,WeakMap,WeakSet 4.1.1 动态属性 定义基本类型值和引用类型值的方式是类似的:创建一个变量并为该变量赋值 引用类型可以 var person = new Object ( ) ; person . name = "threeSt" ; alert ( person . name ) ; //"threeSt" //基本类型不能添加 var name = "three" ; name . age = 26 ; console . log ( name . age ) //undefined 4.1.2 复制变量