JavaScript中的操作符==与===介绍

 更新时间:2014年12月31日 09:10:54   投稿:junjie  
这篇文章主要介绍了JavaScript中的操作符==与===介绍,本文讲解了===操作符的判断规则、==操作符的判断规则,需要的朋友可以参考下

JavaScript中,==与===操作符均可用于判断两个值是否相等;不同之处在于,如果进行判断的两个值类型不一致,===操作符会直接返回false,而==操作符则会在类型转换后再进行判断。详细的判断规则如下:

===操作符的判断规则

1.如果两个值的类型不一致,返回false。
2.如果两个值的类型一致,值一致,返回true。NaN是一个特例,NaN===NaN返回false。
3.如果两个值均为object类型,那么与Java一样,除非两者引用一致(reference指向同一个对象地址),不然即使object中的内容完全一样,也认为这两个值不一致,相应的操作将返回false。比如,新建两个内容完全一样的数组,对它们进行===操作后返回结果为false — 虽然它们的内容完全一样,但还是属于两个不同的对象。
4.0===-0返回true。

==操作符的判断规则

==操作符会将值进行类型转换后再进行比较,其类型转换遵循以下原则:优先转换成number后进行比较,Date对象则优先转换成string后进行比较。具体判断规则如下:

1.如果两个值类型一致,执行===操作后返回。
2.null==undefined为true。
3.true将转换成1后进行比较,false将转换成0后进行比较。
4.如果其中一个值为对象,则将其转换成number后再进行比较,Date对象除外。
5.如果其中一个值为Date对象,则将其转换成string后再进行比较。

实验

复制代码 代码如下:

console.log("3" === 3);//false
console.log(NaN === NaN);//false
var a = {x:1, y:2};
var b = {x:1, y:2};
var c = a;
console.log(a === b);//false
console.log(a === c);//true
console.log(0 === -0);//true

console.log("3" == 3);//true
console.log(null == undefined);//true
console.log(true == 1);//true
console.log(true == 9);//false

console.log([9] == 9);//true
console.log([9] == "9");//true

var d = new Date();
var s = d.toString();
var n = d.valueOf();
console.log(d == s);//true
console.log(d == n);//false

相关文章

  • javascript中this的四种用法

    javascript中this的四种用法

    在javascript当中每一个function都是一个对象,所以在这个里var temp=this 指的是function当前的对象。this是Javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。
    2015-05-05
  • JS异步的执行原理和回调详解

    JS异步的执行原理和回调详解

    这篇文章主要给大家介绍了关于JS异步的执行原理和回调的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • chrome下img加载对height()的影响示例探讨

    chrome下img加载对height()的影响示例探讨

    这篇文章主要介绍了chrome下img加载对height()的影响,需要的朋友可以参考下
    2014-05-05
  • JavaScript实现多个重叠层点击切换效果的方法

    JavaScript实现多个重叠层点击切换效果的方法

    这篇文章主要介绍了JavaScript实现多个重叠层点击切换效果的方法,实例分析了javascript实现点击切换效果的相关技巧,需要的朋友可以参考下
    2015-04-04
  • JS 有名函数表达式全面解析

    JS 有名函数表达式全面解析

    JS 有名函数表达式全面解析,需要的朋友可以参考下。
    2010-03-03
  • 微信小程序把百度地图坐标转换成腾讯地图坐标过程详解

    微信小程序把百度地图坐标转换成腾讯地图坐标过程详解

    这篇文章主要介绍了微信小程序把百度地图坐标转腾讯地图坐标过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • js统计页面的来访次数实现代码

    js统计页面的来访次数实现代码

    这篇文章主要介绍了如何使用js统计页面的来访次数,需要的朋友可以参考下
    2014-05-05
  • element-plus 官方表格排序问题小结

    element-plus 官方表格排序问题小结

    在使用Element Plus官方API时,表格默认排序可能会遇到问题,一个列表可能被多次排序影响数据展示,解决方法是修改useSortTable.js文件,这样可以确保表格按预期正确排序,更多详情可查阅相关的技术文档或资源
    2024-10-10
  • 15个用于开发的TypeScript高级技巧分享

    15个用于开发的TypeScript高级技巧分享

    这篇文章主要来和大家分享一下15个用于开发的TypeScript高级技巧,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-07-07
  • js中flexible.js实现淘宝弹性布局方案

    js中flexible.js实现淘宝弹性布局方案

    这篇文章主要为大家详细介绍了js中flexible.js实现淘宝弹性布局方案,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-12-12

最新评论