星空网 > 软件开发 > Java

== 和 ===

  Object 的 valueOf 方法

  valueOf()函数返回指定对象的原始值。

  JavaScript的许多内置对象都重写了该函数,以实现更适合自身的功能需要。因此,不同类型对象的valueOf()方法的返回值和返回值类型均可能不同。

  == 和 ===

  Object 的 toString() 方法

  toString()函数的返回值为String类型。返回当前对象的字符串形式。

  JavaScript的许多内置对象都重写了该函数,以实现更适合自身的功能需要。

  == 和 ===

 

  "==" 与 "===" 

  "===" 和 "==" 都是用来比较两个值是否相等。前者称为严格相等运算符,判断是否严格相等;后者称为相等运算符,判断是否相等,这个是允许类型转换的。

  "===" 这个判断比较简单

  1.   如果数据类型不一样则不相等
  2.   如果是引用类型,除非指向同一个数组、对象这样的,那么相等,其他都不相等
  3.   其他比较就是常规的比较了

  "==" 这个比较复杂

  如果都是引用类型,或者同是基本类型,同"==="

  null 和 undefined 相等

  1.   一个是数字,另一个字符串,字符串转换为数字后比较
  2.   含有一个boolean值,先将其转换为数字后比较
  3.   其中一个值是对象,将其转换为原始值进行比较(字符串或者数字,根据情况来转换)。

  对象转换为原始值

  对象转换为boolean比较简单,都是为true

  对象转换为数字,先调用valueOf方法,如果为原始值,转换为数字(需要的话);不成功则调用toString()方法,如果为原始值,转换为数字(需要的话),也不成功就抛出异常

  对象转换为字符串,同样的,先调用toString()方法,如果为原始值,转换为字符串(需要的话);不成功则调用valueOf()方法,,如果为原始值,转换为字符串(需要的话),也不成功就抛出异常

  转换的时候到底转换为数字还是字符串,这个看情况需要。

  举几个例子

new Date() + 1//"Tue Aug 11 2015 23:35:47 GMT+0800 (中国标准时间)1"
//+ 期望前面的值是一个字符串,调用的Date的toString()方法
+new Date()//1439307361984
//+ 期望后面的值是一个数字,调用的Date的valueOf()方法处理

 

  举几个"=="的例子

[] == ![]//第一步:![] 转换为boolean值为false//第二步:false 转换为数字为 0//第三步:[] 转换为数字为 0 //判断为true ,第二步和第三步谁先都没有关系"1" == true// true 转换为 1// "1" 转换为 1"1,2" == [1,2]// [1,2] 转换为字符串 "1,2"

 




原标题:== 和 ===

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

加拿大商标注册流程及注意事项:https://www.kjdsnews.com/a/1388020.html
【独立站】+Shopify店铺主题二次开发(1) - 配置待开发的店铺:https://www.kjdsnews.com/a/1388021.html
加拿大注册商标流程多久能够完成?:https://www.kjdsnews.com/a/1388022.html
加拿大注册商标国内生产分装是否可行?:https://www.kjdsnews.com/a/1388023.html
加拿大商标购买指南实现商标保护的最佳方式:https://www.kjdsnews.com/a/1388024.html
加拿大商标登记指南步骤与注意事项:https://www.kjdsnews.com/a/1388025.html
旅游景点的打油诗 旅游景点的打油诗怎么写:https://www.vstour.cn/a/366180.html
2024深圳龙岗区文化馆免费音乐培训课程安排+报名方式:https://www.vstour.cn/a/366181.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流