js中两个等号“==“与三个等号“===“有何不同
⼀、1个等号"=":
⾸先⼀个等号“=”,⼤家都知道,⼀般在编程语⾔中是⽤来做赋值操作的,也叫赋值运算符,即把等号右边的值,赋值给左边声明的变量。
例如:在js中,var x = 10;,即把等号右边的数值10,赋给左边 的变量x。
⼆、2个等号"==":
js中两个等号和三个等号都是⽤来作⽐较的,即⽐较两边的值,⼀致返回true,否则返回false。但它们⼜有⼀定的区别。
在做说明之前,我们先来看个列⼦:
"10" == 10; ==> true 因为在js中,在⽐较之前会进⾏数据类型的转换,即将String字符串型转换成Number数值型,==> 10 == 10; 所以⽐较的结果为true。(js中获取数据的数据类型使⽤typeof())
"1" == true; ==> true ⾸先会将Boolean布尔型true转换成数值型1,==> "1" == 1 ,再将字符串型的"1"转换成数值型的1,==> 1== 1, 所以⽐较的结果为true。
NaN == NaN ==> false 这种情况直接说吧,NaN与任何值⽐较,结果都为false,包括本⾝。(判断⼀个值是否是NaN,只能⽤isNaN()来判断)
null == undefined ==> true 这是应为js在⽐较时会将null和undefined都转换为false,所以⽐较结果为true。(在js中null表⽰空值,既没有值,⽽undefined表⽰未定义。有兴趣的可以⾃⾏去查阅。
原生js和js的区别三、3个等号"===":
这⾥直接上结论吧!
三个等号的⽐较不存在类型转换, 如果两边的数据类型不⼀致,⽐较结果为false。类型⼀致时,⽐较
内容是否⼀致,⼀致时结果为true,否则为false。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论