javascript中的==和===

1.用==作比较运算时,比较的两个值都会进行类型转换.转换规则如下:(比较的两个值分别为A和B):
a.A、B中有bool值,则比较之前会转化为数字值。false转为0, true转为1 ;
alert(false==0)//结果为true

b.A、B一个是字符串,一个是数字,比较前会将字符串转为数字。
alert("123"==123)//结果为true

c.A、B一个是对象,一个是数字,则检查相等性之前要尝试把对象转化成数字。
alert(5==new String("5"))//结果为true

d.A、B都为对象,则比较的是引用值,如果两个引用指向同一对象,结果才为true
alert(new String("5") == new String("5"));//注意结果为false

其他规则:
alert(null == undefined);//true
alert(NaN == NaN);//false
alert(NaN == 1);//false
,只要比较的两者中含NaN,结果即为false

2.用===也叫全等号,只有在无需类型转换运算数才相等的情况下才返回true.保证比较的两个值必须是同一类型(或同一个引用),而且值也相等。
alert("5" === "5")//true
alert("5" === 5);//false

[b]
在比较javascript字符串时,可以采用以下的两种方法,不用“==”直接比较[/b]
1. String的indexOf()方法:
var str1 = "abc";
var str2 = "abc";
alert(str1.indexOf(str2)==0&&str2.indexOf(str1)==0)//相等则为true,不等则为false注意此种方法区分大小写

2.String的localCompare()方法
str1.localeCompare(str2)==0//返回0则证明str1与str2相等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值