常见数据类型(哪些是基本,哪些是引用,你知道这两种有什么区别吗)

1.        

        常见的基本数据类型:Number、String 、Boolean、Null和Undefined。

        引用数据类型:对象、数组、函数。

2.  区别:

        

  • 内存分配与访问机制的不同:

        1)基本数据类型:存储在栈内存中,可以直接访问到该变量的值。

        2)引用数据类型:存储在堆内存中。意思是存储在栈内存中该变量的值是该对象在堆内存中的地址,它相当于一个指针,根据该指针去找到该对象的值,这就是传说中的按引用访问。

  • 复制变量时的不同:

        1)基本数据类型:将一个变量的值复制给另一个变量时,只是将原变量的副本赋值给新变量,这俩个变量的值是相互独立的。

        2)引用数据类型:将一个变量复制给另一个变量时,会把原变量中存储的对象内存地址赋值给新变量,此时这两个变量都指向了堆内存中的同一个对象,他们中任何一个作出的改变都会反映在另一个身上。【浅拷贝】

null和undefined区别

  • null 只有一个值,是null,不存在的对象,表示一个空对象指针
  • undefined只有一个值,是undefined。没有初始化。undefined是从null中派生出来的
  • 简单理解就是:undefined是没有定义的,null是定义了但是为空!


版权声明:本文为weixin_47240319原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。