1.引用类型有哪些?非引用类型有哪些?
- ECMA Script中规定,JavaScript的基本数据类型分为两类,即基本类型和引用类型,其中基本数据类型包括5种,number、string、boolean、以及undefined、null两个特殊类型,其次引用类型包括Object、Array、Function、zhengze等。
- 其次,关于这两种数据类型,他们的不同之处在于数据的保存类型不同,对于基本类型的数据,其保存的方式是在内存中的栈空间,开辟一个固定大小的空间进行固定位置的保存,并且数据的访问形式是后进先出,而引用类型的数据,其保存的形式是在内存的堆空间开辟一个动态的空间来保存数据的值(因为数据的大小不固定),当我们访问这个变量的时候其实是根据存在栈空间的指针寻址来查找到相应的堆内存空间,这也就是为什么,当我们给基本类型进行重复赋值的时候,基本数据的值不会改变,而引用类型会一起连带改变,因为我们的改变不在是单独去创建一个副本,而是查找了同一个指针引用并改变了其堆内存中的值。