从一道js笔试题到==运算符的简析

来自于:http://bbs.blueidea.com/thread-2983198-1-1.html

 

<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> 
<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> 

这里非0数值的布尔值的确都是true,也就是说所有的问题都集中在2==true中的==运算符上。基本可以确定,==一定不是把数字转换为布尔值再进行比较。

 

<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>


posted @ 2010-05-07 11:22  豪情  阅读(373)  评论(0编辑  收藏  举报