復制代碼 代碼如下:
<script type="text/javascript">
/******************************************************************* 利用運算符優先級實現ifelse表達式
result = expression1 && expression2
當且僅當兩個表達式的值都等於 True 時, result 才是 True。
如果任一表達式的值等於 False, 則 result 為 False。
JScript 使用下面的規則,來把非 Boolean 值轉換為 Boolean 值:
所有對象都被認為是 true。
字符串當且僅當為空時被認為是 false。
null 和未定義的均被認為是 false。
數字當且僅當為零時是 false。
*******************************************************************/
alert(1&&0); //false,return the first false's argument 0
alert(1&&2); //true,return the last true's argument 2
/*******************************************************************
result = expression1 || expression2
如果兩個表達式中有一個或兩個等於 True,則 result 是 True。
JScript 使用下面的規則來把非 Boolean 值轉換為 Boolean 值:
所有對象都被認為是 true。
字符串當且僅當為空時才被認為是 false。
null 和未定義的均被認為是 false。
數字當且僅當為 0 時才是 false。
*******************************************************************/
alert(1||0); //true,return the first ture's argument 1
alert(0||false); //false,return the last false' argument false
/*******************************************************************
"並列"表達式,返回最後一個表達式
*******************************************************************/
alert((1,0,-1)); //return the last argument -1
/*******************************************************************
利用運算符優先級實現if(...){...}else{...}
無明確返回值的一律返回undefined
undefined,null都將被轉換為false
*******************************************************************/
var a = true;
a && (alert('true'),1) || alert('false')
/*******************************************************************
或者用三目運算符
*******************************************************************/
a ? alert('true') : alert('false');
</script>