值类型与引用类型数据运算

​ 值类型的数据和引用类型的数据进行运算的时候,会遵循如下步骤:

1.调用引用类型数据的valueOf方法,获取返回值,尝试和值类型的数据进行运算,如果可以计算,就得出结果。

2.如果不能计算,继续调用这个引用类型数据的toString方法,获取返回值进行计算。

valueOf方法说明如下:

toString方法说明如下:

应用实例如下:

//第一题
console.log({} + 1);//分析步骤://1.console.log({}.valueOf() + 1)//2.console.log({}.toString() + 1)//3.console.log("[object Object]" + 1)//4.console.log("[object Object]1")//输出结果  [object Object]1//第二题
console.log([] + 1);//分析步骤://1. console.log([].valueOf() + 1);//2. console.log([].toString() + 1);//3. console.log("" + 1);//4. console.log("1")//输出结果  1//第三题
console.log([] == ![]);//分析步骤://1. console.log([] == false)//2. console.log([].valueOf() == false);//3. console.log([].toString() == false);//4. console.log("" == false);//输出结果  true//第四题
console.log({} == !{});//分析步骤://1.console.log({} == false);//2.console.log({}.valueOf() == false);//3.console.log({}.toString() == false)//4.console.log("[object Object]" == false)//输出结果  false

转载于:https://www.cnblogs.com/Jianxq12/p/7546200.html

值类型与引用类型数据运算相关推荐

  1. Windows Phone 开发起步之旅之二 C#中的值类型和引用类型

    今天和大家分享下本人也说不清楚的一个C#基础知识,我说不清楚,所以我才想把它总结一下,以帮助我自己理解这个知识上的盲点,顺便也和同我一样不是很清楚的人一起学习下.  一说起来C#中的数据类型有哪些,大 ...

  2. LV2之-----js 值类型和引用类型(基石1)

    一.学习目标 1.值类型和引用类型的基本概念 2.常见的值类型和引用类型都有哪些? 3.数据类型检测 4.值类型和引用类型在内存中的存储机制 5.创建对象的方式有哪些? 6.对象属性名的点表示法和方括 ...

  3. python中的引用类型_Python中的值类型与引用类型

    其实各个标准资料中没有说明Python有值类型和引用类型的分类,这个分类一般是C++和Java中的.但是语言是相通的,所以Python肯定也有类似的.实际上Python 的变量是没有类型的,这与以往看 ...

  4. Java值类型与引用类型的不同

    [定义] 引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值,那么调用这个方法是传入的变量的值也将改变. 值类型表示复制一个当前变量传给方法,当你 ...

  5. C#之值类型和引用类型

    本文意在巩固基础知识,并不是对其进行深入剖析,还望理解. 本文是对此项知识的整理文,有些内容来源于网络,其他为博主原创,所以难免会有一些小得瑕疵,敬请谅解. 所有示例均是博主测试过的,如有转载请标明出 ...

  6. 值类型与引用类型的区别

    可以这样理解: 值类型保存的是具体的值 引用类型保存的是值的地址 例如 int a = 1; int b = a; b++; 这时b为2,a仍然是1 再看引用类型,例如有个类型是 User User ...

  7. 第2篇 C#数据类型-值类型与引用类型

    一 C#内存分配 在应用程序与操作系统之间有一个"中间人"--公共语言运行时(Common Language Runtime,CLR).它为应用程序提供内`存管理,线程管理和远程处 ...

  8. 栈和托管堆/值类型和引用类型/强制类型转换/装箱和拆箱[C#]

    一.栈和托管堆 通用类型系统(CTS)区分两种基本类型:值类型和引用类型.它们之间的根本区别在于它们在内存中的存储方式..NET使用两种不同的物理内存块来存储数据-栈和托管堆.如下图所示:     值 ...

  9. 理解C#值类型与引用类型(收藏)

    从概念上看,值类型直接存储其值,而引用类型存储对其值的引用.这两种类型存储在内存的不同地方.在C#中,我们必须在设计类型的时候就决定类型实例的行为.这种决定非常重要,用<CLR via C#&g ...

最新文章

  1. 1058 A+B in Hogwarts
  2. java字符串缓冲池分析
  3. java 同步块 抛出异常_不把 wait 放在同步块中,为啥这种情况不会抛出 IllegalMonitorStateException?...
  4. Android: RecyclerView.ViewHolder、Adapter
  5. 数平精准推荐 | OCR技术之数据篇
  6. sublime重装后碰到Unable to read Packages
  7. SAP Spartacus ConfigModule.withConfig的处理逻辑
  8. letsencrypt 自动续期不关闭nginx
  9. 考研 | 手把手教你打赢考研情报战,巧用有关考研的三大网站
  10. linux 生成随机数 命令,Linux生成随机数的多种方法
  11. 计算机类有电子商务类,电子商务类专业有哪些-电子商务类专业名单汇总
  12. JAVA大数据-Week4-DAY6-JDBC
  13. 搜索引擎-Lucene
  14. 入门DP教程(超详细)
  15. git强制拉取最新代码
  16. 2023计算机毕业设计SSM最新选题之java亚健康人群健康管理系统c4cyz
  17. iPhoneXR为最畅销iPhone难解外界对苹果的担忧
  18. 二叉树创建之先序法-递归算法
  19. 一个屌丝程序猿的人生(八十三)
  20. 图形之可见面判别算法

热门文章

  1. 4.3.1 jQuery基础(1)
  2. LCA问题的RMQ解法解析
  3. Torch 学习总结
  4. linux修改默认python版本_将Linux下python默认版本切换成替代版本
  5. FCGF论文阅读笔记
  6. 【Tensorflow】深度学习实战01——Tensorflow实现简单的卷积网络(MNIST)
  7. leetcode - 837. 新21点
  8. 罗德里格斯(Rodrigues)旋转方程推导
  9. 统计学习方法笔记(李航)———第六章(逻辑斯谛回归)
  10. vs2013中对工程、项目和类更名