js中有 = 、== 、===
三种,经常会让人弄不清楚,下面来讲讲它们之间的区别。
第一种=
这个等号最少,也最简单,代表赋值,将右侧的值赋给左侧的变量
var a = 3;//将3赋值给a
第二种==
这是相等运算符,相等返回true,否则返回false。当使用它来进行比较时,如果值的类型不同,会自动进行类型转换,将其转换为相同的类型,然后再进行比较,这里涉及到一些数据类型转换的知识,以后有机会再谈。
console.log( 1 == 1);//true
console.log( "1" == 1);//true
console.log( true == 1);//true
console.log( null == 0);//false
注意:
1、undefined 衍生自null,所以这两值做相等判断时,会返回true
2、NaN不和任何值相等,包括它本身。
第三种===
全等,用来判断两个值是否全等,它和相等相似,不同的是它不会做类型转换,如果两值类型不同,直接返回false,换一种简单的说法就是,如果他们俩长得不一样,就会返回false。
console.log("123" === 123);//false
console.log( null === undefined);//false