js语言的一大特点就是“软”变量,js变量松散决定了其实var只是声明了变量,只是在内存中给变量开辟了空间而已,这个特色从某种角度来看是非常有趣而强大的但是又特别容易产生问题
我们之前在讲变量的时候提到了基本类型和引用类型,这次我们回去深刻的讨论一下两者之间有什么区别,基本类型是指的简单的数据段,而引用类型则是多个数据段组成的对象;基本类型是“栈”,先进如栈内的变量最先被释放掉(内存中)。引用类型是“堆”,所有的引用类型内存中需要单独给开辟一个内存空间去存储。“栈”只是“堆”中数据的索引而已,js不允许直接访问内存中的位置,也就是说不能直接操作内存空间
定义基本类型和引用类型的方式是相似的,创建一个变量并且为该变量赋值,当这个值保存到变量中去的时候,对不同类型的变量的操作是完全不一样的,对于引用类型我们可以为他添加熟悉和方法,也可以删除属性和方法
这几章的概念性的东西比较多,我尽量分成5到6章去讲完,细致的给大家过一遍