javascript中的布尔操作符一共有3个:逻辑非 (!) ,逻辑与(&&),逻辑或(||)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>布尔操作符</title>
<script type="text/javascript">
//逻辑非!除了非空字符串,不为0的数字,以及true 用!操作返回false,其余的都返回true
function basicFei(){
alert(!"blue");//false
alert(!"");//true
alert(!NaN);//true
alert(!-123);//false
alert(!false);//true
}
//逻辑与 && 逻辑与是短路操作,如果第一个操作数返回false,则第二个操作数就不会执行
function basicYu(){
var found =false; //如果found=true代码会发生错误,因为变量someUndefinedVariable没有定义,
//如果found=false则不会报错,因为someUndefinedVariable尽管没有定义,但是不会执行。
var result=(found && someUndefinedVariable);
alert(result);
}
//逻辑或||也属于短路操作,如果第一个返回true,则不会执行第一个操作数
function basicHuo(){
//我们可以利用逻辑或的这一行为来避免为变量赋null或undefined值
var myObject="你好"||"这是默认值";
var myObjectNull=null||"这是默认值";
var myObjectEmpty=""||"这是默认值";
alert(myObject);
alert(myObjectNull);
alert(myObjectEmpty);
//以上代码是为变量赋值,如果第一个值为null等无效值,则把第二个值赋给变量。
}
</script>
</head>
<body>
<input type="button" value="逻辑非!" οnclick="basicFei();"/>
<input type="button" value="逻辑与&&" οnclick="basicYu();"/>
<input type="button" value="逻辑或||" οnclick="basicHuo();"/>
</body>
</html>