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中两个等号“==“与三个等号“===“有何不同_第1张图片    js中两个等号“==“与三个等号“===“有何不同_第2张图片

三、3个等号"===":

    这里直接上结论吧!

    三个等号的比较不存在类型转换, 如果两边的数据类型不一致,比较结果为false。类型一致时,比较内容是否一致,一致时结果为true,否则为false。

    js中两个等号“==“与三个等号“===“有何不同_第3张图片js中两个等号“==“与三个等号“===“有何不同_第4张图片

 

你可能感兴趣的:(javascript)