==与===区别:
1、==用于一般比较,不区分数据类型,只区分值是否相等;如果两个数据的数据类型不同,则在比较前会先将数据类型进行转换
2、===用于严格比较,只有数据类型相同且值相等的两个数据才会返回true
例子:
<script>
var judge1 = 1=="1";
var judge2 = 1==="1";
console.log(judge1);
console.log(judge2);
</script>
执行结果:
很明显说明了1、2两点,因为===是比较数据类型和值两个方面,所以1===“1”返回值是false;
类型之间的转换:
转数字:
Number():
a.字符串转数字:
(1)纯数字:直接转换
(2)带有除数字以外的字符:NaN[NaN是一个特殊的数字值(typeof NaN的结果为number),是not a number的缩写,表示不是一个合法的数字。所以NaN===NaN返回值是false]
(3)空串:0
b.boolean转数字
true :1
false:0
c.null转数字 :0
d.undefined转数字: NaN
转boolean
a.数字转boolean:
除了0和NaN 是false 其余都是true
b. 字符串转boolean
空串 false 其余都是true
c.null与undefined都会转换为false
d.object都会转换为true