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