JS中变量包含两种不同数据类型的值:基本类型值和引用类型值。
■基本类型值:subnn(string,undefined,boolean,number,null)〓值本身保存在栈内存中
■引用类型值:o(object)对象〓值本身保存在堆内存中,值在堆内存中的地址被保存在引用类型值变量所在的栈内存中
从有意义的角度看,我们只能给引用类型值变量动态添加属性。
//我们不能给基本数据类型的值添加属性(毫无意义),尽管这样做不会导致JS解释器报错 var name = "Chinese"; name.year = 2016; // 不会报错 console.log(name.year); //undefined
所以可以这样看,栈内存中可以既存放值,也可以存放以说引用值的地址形式体现的值(地址值,或者俗称的指针)。