JavaScript中有6个值为“假”,这六个值是
- false
- null
- undefined
- 0
- '' (空字符串)
- NaN
现在对这6个值为“假”互相是否相等的测试结果如下
| 这里测试6个常见的布尔值为false是否相等(根据对称原理,这里只写了下三角) | ||||||
| 值是否相等= | false | null | undefined | 0 | '' | NaN |
| false | true | false | false | true | true | false |
| null | false | true | true | false | false | false |
| undefined | false | true | true | false | false | false |
| 0 | true | false | false | true | true | false |
| '' | true | false | false | true | true | false |
| NaN | false | false | false | false | false | false |
实际代码如下:
<script type="text/javascript">
// JavaScript中有6个值为“假”,这六个值是
//
// false
// null
// undefined
// 0
// '' (空字符串)
// NaN
//该程序是测试他们几个互相判断的情况
var arr=[] //定义一个数组 二维形式的
var str="";
var td=""; //定义td的样式
//初始化数组
arr[0]=["值是否相等=",false,null,undefined,0,'',NaN];
arr[1]=[false,3,3,3,3,3,3]
arr[2]=[null,3,3,3,3,3,3]
arr[3]=[undefined,3,3,3,3,3,3]
arr[4]=[0,3,3,3,3,3,3]
arr[5]=['',3,3,3,3,3,3]
arr[6]=[NaN,3,3,3,3,3,3]
//计算各个的值
for(i=0;i<7;i++){
for(j=0;j<7;j++){
if(arr[i][j]===3){
(arr[i][0]==arr[0][j])?arr[i][j]=true:arr[i][j]=false;
}
}
}
arr[0][5]=arr[5][0]='\'\''; //将字符串里面赋值一个空字符串,供显示
for(i=0;i<7;i++){ //将值展示在表格里面
str= str+"<tr height='40'>";
for(j=0;j<7;j++){
if(i!=0&&j!=0&&j<=i){
if(arr[i][j]){
td="<td width='120' bgcolor='#ff0' style='color:#a10000'>"
}
else{
td="<td width='120' bgcolor='#f60' style='color: white'>"
}
}
else{
td="<td width='120'>"
}
str= str+td+arr[i][j]+"</td>";
}
str=str+"</tr>";
}
var htmTab= document.getElementById("test")
htmTab.innerHTML= htmTab.innerHTML+str;
</script>
可以看出有意思的一点:NaN连自己都不相等,确实如书上说所。
来源:https://www.cnblogs.com/lwl8/p/3599011.html