els[i].className===cls 为什么是3 个等号啊? ==不就可以了吗?
举例说明: "1" == true 类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1; 此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1; 此时,"==" 左右两边的类型都为数值型,比较成功! 如果比较:"1" === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false; 如果比较:"1" === 1 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false; 如果比较: 1 === 1 左侧为int数值型,右侧为int数值型,左右两侧类型相同,数值大小也相同,结果为true; 如果比较: 1 === 2 左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false; 简而言之就是 "==" 只要求值相等; "===" 要求值和类型都相等 ^_^
哦哦 懂了 嘿嘿
--内容来源于百度,我自己知道原因,但是解释的没这个好,所以就给楼主粘贴过来了-- --我不生产代码,我只是计算机的搬运工--
== equality 等同 === identity 恒等 == 两边值类型不同的时候,要先进行类型转换,再比较。 === 不做类型转换,类型不同的一定不等。