<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>
结果应该是:false,false,true
为什么呢?因为在运算符“==” 布尔值会先转化成数字来做比较 true的转化成数字 也就为:1 这样就不难得出结果了
再看看这个例子 就更清晰了
<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
再看这个
<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>
按照刚才的 true会转成成1 则 这三个 都为:false,false,false
<SCRIPT LANGUAGE="JavaScript">
var a = "undefined";
var b = "false";
var c = "";
function assert (aVar) {
if (aVar) alert(true);
else alert(false);
}
assert(a);
assert(b);
assert(c);
</SCRIPT>
这个结果为:true,true,false
<SCRIPT LANGUAGE="JavaScript">
var a = "1";
var b = "001";
var c = "";
function assert (aVar) {
if (aVar==true) alert(true);
else alert(false);
}
assert(a);
assert(b);
assert(c);
</SCRIPT>
结果为:true,true,false 字符串转化成数字的时候 ‘001’ 转化为 1
下一篇:Centos5.5正式版发布 上一篇:全世界最短的ie判断语句