javascript 数据类型

javascript 数据类型js 真是一门有趣的语言 在 js 的世界中 数据有两种类型 一种是引用类型 一种是基本数据类型引用类型 在 js 的世界里 有一句话 所有的一切 都是 object 那么问题来了 object 是基本数据还是引用类型的呢 嘿嘿 卖个关子 后面再讲 先来讲讲对于引用类型的定义 引用类型值则是指那些保存在堆内存中的对象 意思是变量中保存的实际上只是一个指针 这个指针指向内存中的

js真是一门有趣的语言。在js的世界中,数据有两种类型。


一种是引用类型。一种是基本数据类型


引用类型:




在js的世界里,有一句话“所有的一切,都是object”,那么问题来了。object是基本数据还是引用类型的呢?
嘿嘿,卖个关子,后面再讲,先来讲讲对于引用类型的定义:

引用类型值则是指那些保存在堆内存中的对象,意思是变量中保存的实际上只是一个指针,这个指针指向内存中的另一个位置,该位置保存对象。

意思就是我们的引用类型是一个日记本,当我们想知道2017年8月2日我们在干什么的时候,日记本的回答永远是在写博客,对吧。


这时候,日记本中的2017年8月2日就是我们的引用类型了,也就是说这是个工具,一个指针我们村粗的位置


引用类型有很多,最常见的是我们的ARRAY,FUNCTION,OBJECT等等

基本数据

基本数据类型的概念是:基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全保存在内存中的一个位置。


意思就是我们查日记本,但是日记本怎么会知道我们那天干了什么?肯定是我们写过对吧,但是我们写的经历是哪儿来?


我们写日记的本子是怎么来?这就是基本类型要做的事情了,也就是我们每次使用基本类型去操作,我们就会去“构建”一次


那哪些才算基本类型?

Undefined / Null / Boolean / Number / String


没错,undefined也是基本类型

一些代码,便于大家理解:

String.prototype.valueOf = function() { console.log("string类别的valueof方法被调用了") } var obj = { valueOf: function() { console.log("obj的valueof方法被调用了"); return 1 } } var a1 = 1; var a2 = new Number(1); var a3 = Number(1); var a = 1; var b = "1"; var c = new String("1"); var d = String("1"); console.log("==================检测基本类型"); console.log(typeof b); console.log(typeof c); console.log(typeof d); console.log("=======================检测引用类型") console.log(b instanceof String); console.log(c instanceof Object); console.log(d instanceof String); 1 == b; 1 == c; 1 == d; console.log(d === c); console.log(b === c); console.log(d === b); console.log(typeof a1); console.log(typeof a2); console.log(typeof a3); // Typeof操作符是检测基本类型的最佳工具; //Instanceof用于检测引用类型,可以检测到具体的,它是什么类型的实例;

这儿再提一点题外话。关于为什么叫基本类型,那是因为因为string比较特殊。string的定义是引用类型的,但其操作是值类型,

所以在代码中才会出现我定义的那种情况

对于堆内存还有栈内存,下篇博客再见




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215210.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午2:26
下一篇 2026年3月18日 下午2:26


相关推荐

  • goland 2022.01 激活码_最新在线免费激活2022.01.29

    (goland 2022.01 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月31日
    104
  • Cocos2D & SpriteBuilder Developer Guide「建议收藏」

    Cocos2D & SpriteBuilder Developer Guide

    2022年1月19日
    53
  • 微信硬件蓝牙扫描绑定JSAPI发送数据

    微信硬件蓝牙扫描绑定JSAPI发送数据微信蓝牙

    2026年3月17日
    2
  • MySQL 社区规范 | 数据库篇

    MySQL 社区规范 | 数据库篇MySQL 社区规范 | 数据库篇

    2022年4月24日
    42
  • js单项选择答题_完成窗口切换的方法

    js单项选择答题_完成窗口切换的方法业务背景:系统有一个数据列表,其中的每行数据都可以进行详细信息修改配置。为了提升用户体验,需要在用户触发单条任务记录详细配置界面之后添加进入上一题和下一题的操作。实现构思: 有两种办法:第一种简单点的话就是不去数据库实时查询数据,利用已经在列表中的数据信息进行数据切换展示与修改。 第二种办法稍微麻烦一点,数据切换的时候实时rownum去数据库查询定位当前数据行的index,然后切换…

    2022年4月19日
    50
  • SVD在推荐系统中的应用详解以及算法推导

    SVD在推荐系统中的应用详解以及算法推导前面文章 SVD 原理及推导已经把 SVD 的过程讲的很清楚了 本文介绍如何将 SVD 应用于推荐系统中的评分预测问题 其实也就是复现 Koren 在 NetFlix 大赛中的使用到的 SVD 算法以及其扩展出的 RSVD SVD 记得刚接触 SVD 是在大二 那会儿跟师兄在做项目的时候就用到这个东西 然后到大三下学期刚好百度举办了一个电影推荐算法大赛 跃跃欲试地参加了 当时就用的 SVD 而且只会用这个 后来觉得效果还不错 接着就又找来了 Koren 的论文 看了一下把 SVD 也实现了 把两者结果融合得到不少的提升 下面是最终比

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号