`
西门吹牛
  • 浏览: 226386 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

==和===的判断规则

阅读更多

一直以为js里非0即真,所以 alert(333==true);应该返回true吧?但是
错!错!错!这是一个值得注意的小细节



摘自http://abruzzi.iteye.com/blog/632010

相等运算符

如果操作数具有相同的类型,则判断其等同性,如果两个操作数的值相等,则返回true(相等),否则返回false(不相等).

如果操作数的类型不同,则按照这样的情况来判断:

l  null和undefined相等

l  其中一个是数字,另一个是字符串,则将字符串转换为数字,在做比较

l  其中一个是true,先转换成1(false则转换为0)在做比较

l  如果一个值是对象,另一个是数字/字符串,则将对象转换为原始值(通过toString()或者valueOf()方法)

l  其他情况,则直接返回false



等同运算符

如果操作数的类型不同,则不进行值的判断,直接返回false

如果操作数的类型相同,分下列情况来判断:

l  都是数字的情况,如果值相同,则两者等同(有一个例外,就是NaN,NaN与其本身也不相等),否则不等同

l  都是字符串的情况,与其他程序设计语言一样,如果串的值不等,则不等同,否则等同

l  都是布尔值,且值均为true/false,则等同,否则不等同

l  如果两个操作数引用同一个对象(数组,函数),则两者完全等同,否则不等同

l  如果两个操作数均为null/undefined,则等同,否则不等同
分享到:
评论

相关推荐

    matlab规则平面图形的形状判断

    获取图形的基本几何特征,判断其形状。代码已经实现了对正方形、圆、椭圆的判断。前面的分割算法是区域生长分割法。 非常适合初学者。

    拉萨车牌号判断规则

    拉萨车牌号判断规则,车牌号判断规则。可以进行校验

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

    详细的判断规则如下: ===操作符的判断规则 1.如果两个值的类型不一致,返回false。 2.如果两个值的类型一致,值一致,返回true。NaN是一个特例,NaN===NaN返回false。 3.如果两个值均为object类型,那么与Java一样...

    js判断密码重复规则

    function test(obj){ var str=obj.value; if(validate(str)){ alert("合法的字符串!"); }else{ alert("非法的字符串!"); } } function validate(str){ var reg=/^\w{8,31}$/;...</html>

    jquery正则表达式插件

    * 功能:判断字符串是否符合正则表达式规则 * * -范例--------------------------------------------------- * var abc = "127.0.0.1"; * if(abc.match($.regexp('ip')){alert("abc是ip地址格式!"&#...

    vue判断输入的快递单号是否符合规则Demo

    通过正则表达式判断快递单号是否符合规则的Demo,具体思路: 1、为快递公司select控件设置change事件,当selelct控件的值发生变化时,触发change事件,然后获取select的值保存起来(如果快递单号此时有值,直接进行...

    javaScript中”==”和”===”的区别详解

    下面的规则用来判断两个值是否===相等: 1、如果类型不同,就不相等 2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()...

    java 判断汉字 汉字的判断

    Java后台中需要对一些代码是不是汉字进行判断,根据不同的判断结果进行不同的操作!

    驱动精灵(可以备份驱动,也可以升级驱动)

    3、首次支持手机驱动及官方应用程序,支持包括:诺基亚、摩托罗拉、索爱、黑莓、Iphone、HTC(部分型号)、夏普(部分型号),其他品牌和型号逐步增加中。 4、在网络不畅的情况下,增加驱动列表重新获取功能。 ====...

    ShapeTouch该Javascript库用于实现H5中不规则图形按钮可点击区域的判断

    ShapeTouch 该Javascript库用于实现H5中不规则图形按钮可点击区域的判断

    程序员每天自动填写周报日报工时脚本完整脚本

    索性写个自动填写的脚本+定时任务+工作日判断+自动启动服务,完整的自动填写。 通过对工作日志平台的分析,发现都是加密安全https请求,有些公司是内网,不排除有http的这种简单一点,本想通过 shell 脚本写一个...

    编写函数,判断输入的三个数字是否能构成三角形的三条边。def04.py

    print('两边之和大于第三边') else: print('输入的三条边符合组成三角形的编程规则!') a=float(input('请输入边长 a:')) b=float(input('请输入边长 b:')) c=float(input('请输入边长 c:')) triangle(a,b,c)

    深入剖析浮点存储及其运算规则

    深入剖析浮点存储及其运算规则 在数学运算当中经常会涉及到判断两个数是否相等的情况 对于整数很好处理 A==B这样的一个语句就可以解决全部的问题 但是对于浮点数是不同的

    上传文件大小的限制和判断javascript

    上传文件大小的限制和判断javascript

    五子棋的核心算法(介绍五子棋程序的数据结构、评分规则、胜负判断方法和搜索算法过程)

    五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。这里设计和实现了一个人机对下的五子棋程序,采用了博弈树的...介绍五子棋程序的数据结构、评分规则、胜负判断方法和搜索算法过程。

    拼图游戏Source

    另外每个TTuObj中还记录着它四周的TTuObj的指针,以及是否已经建立了连接,这样就可以提供能够判断两个图块是否在靠近时建立连接,以及当图块连接后移动任何一个图块都可以带动和它已连接的图块一起移动。...

    操作系统银行家算法课程设计

    设进程I提出请求Request[N],则银行家算法按如下规则进行判断。 (1)如果Request[N]<=NEED[I,N],则转(2);否则,出错。 (2)如果Request[N]<=AVAILABLE,则转(3);否则,出错。 (3)系统试探分配资源,修改相关...

    判断给定的某个年份是否是闰年

    编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。

    身份证验证及规则

    身份证验证及规则,根据规则去书写java代码

Global site tag (gtag.js) - Google Analytics