我是靠谱客的博主 迷人鱼,这篇文章主要介绍JS基本数据类型和引用数据类型的区别定义:基本数据类型引用数据类型综合:,现在分享给大家,希望可以做个参考。

定义:

基本数据类型: Number、String、Boolean、Null、 Undefined

引用数据类型: 函数、数组、正则等除了基本数据类型以外的数据

基本数据类型

基本数据类型是指存放在栈中的简单数据段,数据大小确定,定义后值不可更改,假如更改需要先销毁原来的值,而字符串的修改实际上并没有修改,而是去返回一个新的值。
举个栗子:

var a=2;
//2赋值给a
a=3;
//将a原有的值销毁,重新把3赋值给a
var s ="hello";
s.toUpperCase();//返回HELLO,这是一个新的字符串,和原来的s无关
alert(s)//hello

引用数据类型

存放在堆内存中的对象,大小可更改,对象比较比较的是引用地址,所以即使两个对象包含相同属性和相同值,也是不相等的。只有他们引用同一个对象时,才相等。

举个栗子:

var o={x:1},p={x:1};
o===p
//false,因为这两是不一样的对象,地址不一样
var a=[];
//a指向一个空数组
var b=a;
//此时b中存放原数组的地址,所以a和b此时指向是一样的
b[0]=1;
alert(a[0]);
a===b;
//true,因为a和b引用的是同一地址,所以a,b相等

综合:

var a = [1,2,3,4,5];
var b = a;//传址 ,(数组是引用类型)对象中传给变量的数据是引用类型的,会存储在堆中;
var c = a[0];//传值,把对象中的属性/数组中的数组项赋值给变量,这时变量C是基本数据类型,存储在栈内存中;改变栈中的数据不会影响堆中的数据
alert(b);//1,2,3,4,5
alert(c);//1
//改变数值 
b[4] = 6;
c = 7;
alert(a[4]);//6
alert(a[0]);//1

最后

以上就是迷人鱼最近收集整理的关于JS基本数据类型和引用数据类型的区别定义:基本数据类型引用数据类型综合:的全部内容,更多相关JS基本数据类型和引用数据类型内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部