代码如下:
<html>
<body>
<script type="text/javascript">
document.write(' "" == false : '+("" == false)+'<br>')
document.write(' "" == true : '+("" == true)+'<br>')
document.write(' 0 == true : '+(0 == true)+'<br>')
document.write(' 0 == false: '+(0 == false)+'<br>')
document.write(' 1 == false: '+(1 == false)+'<br>')
document.write(' 1 == true : '+(1 == true)+'<br>')
document.write(' 10 == false: '+(10 == false)+'<br>')
document.write(' 10 == true : '+(10 == true)+'<br>')
document.write(' -10 == false: '+(10 == false)+'<br>')
document.write(' -10 == true : '+(10 == true)+'<br>')
document.write('<br>')
document.write(' "" === false : '+("" === false)+'<br>')
document.write(' "" === true : '+("" === true)+'<br>')
document.write(' 1 === false : '+(1 === false)+'<br>')
document.write(' 1 === true : '+(1 === true)+'<br>')
</script>
</body>
</html>
结果如图
总结:
1.在==情况下:
a.比较时,会将true转为1,false转为0;
b.""空字符串相当于false
2.在===情况下,由于===是严格的校验,因此,在==情况下的转换均失效
3.另外,如下代码情况
document.write((!10 == false)+'<br>')//true
document.write((!-10 == false)+'<br>')//true
document.write((!-10 === false)+'<br>')//true
非0,1数字前加!,表示false,