导读:在cssrain清算的一个 试题集 中有这么一道题: SCRIPT LANGUAGE= Java Script 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 运行代码框
在cssrain清算的一个 试题集 中有这么一道题:
<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>
运行代码框
提醒:可修改儿女码再运行!
凭证我的领略,任何非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>
提醒:可修改儿女码再运行!
运行功效依次为:false,true,true。
在这里,我们发明,if(aVar) 和 if(aVar == true)的功效并不沟通。
cssrain在 谜底 中的表明是:
if(aVar) 和 if (aVar==true) 对负数有截然差异的谜底。 真的是负数的缘故起因吗?看下面这个例子: