js利用与或运算符优先级实现if else条件判断表达式

复制代码 代码如下:

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