我是靠谱客的博主 迷人鱼,最近开发中收集的这篇文章主要介绍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基本数据类型和引用数据类型的区别定义:基本数据类型引用数据类型综合:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部