我是靠谱客的博主 饱满鞋垫,这篇文章主要介绍常用的数据类型有哪些?简单数据类型与复杂数据类型之间的区别?,现在分享给大家,希望可以做个参考。

接下来由我给大家介绍一下JavaScript中的数据类型都有哪些?

简单数据类型:

分为:number、string、null、undfined、boolean、symbol (es6)、bigInt(es10)

复杂数据类型:

分为:object、array、function

那么肯定有的小伙伴要问了,简单数据类型和复杂数据类型有什么区别呢?

简单数据类型举例:

var a = 1;
var b = a;
b = 2;
console.log(a)   结果为:1

首先,在JS中我们要知道栈和堆的概念:

        简单数据类型都是存储在栈里面的,而复杂数据类型都是存储在堆里面的。

        首先我们声明了一个 a = 1;我们在栈里面声明了一个a=1,又声明了一个b=a,再然后又给b重新赋值为2,那么这个时候a是不是没有变,所以我们控制台输出结果为1。

复杂数据类型举例:

var obj = {
    a:1,
}
var newObj = obj;
newObj.a = 2;
console.log(newObj.a);

         首先我们声明了一个obj对象,里面的属性a的属性值为1,然后我们又将这个obj对象赋值给了一个新的newObj对象,我们知道复杂数据类型的指针指向同一地址,所以说旧的obj对象和新的newObj对象指向的数据为同一地址,并且为同一数据,当我们修改这两个任意一个对象里面的属性的属性值的时候,一改全改,举个例子,我们共同拥有一个亿(对象),但是有一天小偷来了,偷走了,那我们的钱(也就是复杂类型的数据)被偷了(也就是被修改了),所以说复杂数据类型的数据一改全改。当修改两个对象里面的属性值时,指针指向同一地址的数据,所以newObj=2,控制台输出为2。

总结:

简单数据类型存放在栈里面

复杂数据类型存放于堆里面

简单数据类型是深复制,赋值的是值,互相不会影响。

复杂数据类型是浅复制,赋值的是地址,一个改变,全部改变,因为他们的指针指向同一地址。

最后

以上就是饱满鞋垫最近收集整理的关于常用的数据类型有哪些?简单数据类型与复杂数据类型之间的区别?的全部内容,更多相关常用内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部