<SCRIPT LANGUAGE="JavaScript"> var a = 0; var b = -1; var c = 1; function assert (aVar) { if (aVar==true) alert(true); else alert(false); } assert(a) ; assert(b) ; assert(c) ; </SCRIPT>
运行代码框 [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
按照我的理解,任何非0的数值的布尔值都应该为true。
可是这道题的正确输出为:false false true。
(-1==true)的值为false。
再来看下面这个例子:
<SCRIPT LANGUAGE="JavaScript"> var a = 0; var b = -1; var c = 1; function assert (aVar) { if (aVar) alert(true); else alert(false); } assert(a) ; assert(b) ; assert(c) ; </SCRIPT>
6.If Type(x) is Boolean, return the result of the comparison ToNumber(x) == y. 7.If Type(y) is Boolean, return the result of the comparison x == ToNumber(y).
<SCRIPT LANGUAGE="JavaScript"> var a = "undefined"; var b = "false"; var c = ""; function assert (aVar) { if (aVar==true) alert(true); else alert(false); } assert(a); assert(b); assert(c); </SCRIPT>
4.If Type(x) is Number and Type(y) is String, return the result of the comparison x == ToNumber(y). 5.If Type(x) is String and Type(y) is Number, return the result of the comparison ToNumber(x) == y.