美文网首页
【JavaScript】基本类型&复杂类型

【JavaScript】基本类型&复杂类型

作者: 一树青枫 | 来源:发表于2017-01-05 10:58 被阅读0次

    偶遇前端一只小菜鸟,讨论起JS中的数据类型问题,现将我们讨论后,以及自己不完全的理解记录一下,问题的起初他看这篇详细的JS文档是发现的:

    JS中的基本数据类型,可直接存取,有五种:字符串 数值 布尔类型 null undefined 

    基本类型的复制

    JS中的复杂数据类型,通过引用的方式存取,有三种:对象 数组 函数 正则

    复杂类型的复制

    为什么有上述的结果呢?也就是说,直接存取引用方式到底是哪里不同呢?

    JS中,从变量的存储来看,分为两个地方,栈内存和堆内存。

    栈里保存基本数据类型;复杂类型中,堆里保存的才是对象,而栈内存中保存的是一个指针。

    JS中,变量的访问方式来看,分为按值访问和按引用访问。

    基本类型是按值访问的,操作的就是实际保存的数值。

    引用类型(复杂类型)是按引用访问的,操作的是指针,也就是说,需要访问时,先从栈中读取指针--指针可以认为是地址,也就是保存着对象的地址,顺着这个地址,就可以找到堆中的对象了。

    似乎是:找到家🏠,还是找到家🏠的地址。

    JS中,变量的复制方式来看,分为值复制和引用复制。

    基本类型之间的复制就是值复制啦。

    引用类型(复杂类型)的复制就是引用复制,也就是说复制指针。

    似乎是:给别人一个苹果🍎;或是给别人一份放那唯一的一个苹果🍎所存放的地址。


    因自己也是前端小菜鸟,现将参考前辈的资料列一下,因我说不清楚的,可以去前辈的文章那里看。

    犯迷糊的小羊🐑 时间对象&引用类型-Assignment

    相关文章

      网友评论

          本文标题:【JavaScript】基本类型&复杂类型

          本文链接:https://www.haomeiwen.com/subject/qjtzvttx.html