一、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表示未定义。有兴趣的可以自行去查阅。
三、3个等号”===”:
这里直接上结论吧!
三个等号的比较不存在类型转换, 如果两边的数据类型不一致,比较结果为false。类型一致时,比较内容是否一致,一致时结果为true,否则为false。