js 逻辑运算,javascript算术运算符有哪些

  js 逻辑运算,javascript算术运算符有哪些

  本教程运行环境:windows7系统,javascript1.8.5版本1.8.5,戴尔G3电脑。

  

javascript中的逻辑运算符

  逻辑运算符通常用于组合多个表达式。逻辑运算符的运算结果是一个布尔值,只能有两种结果,非真即假。下表列出了JavaScript中支持的逻辑运算符:

  运算符示例逻辑and x y表示真,如果x和y都为真逻辑or x y表示真,如果x或y都为真!逻辑不是!X表示如果X不为真,则为真逻辑与运算

  AND运算()是一种AND布尔运算。仅当两个操作数都为真时返回真,否则返回假。详情见表。

  第一个操作数和第二个操作数的逻辑“与”运算结果true true true false false false ruefalsefalsfalsefalse逻辑“与”是短路逻辑。左表达式为假,结果直接短路,右表达式不运算。操作逻辑如下:

  第一步:计算第一个操作数的值(左表达式)。

  第二步:检查第一个操作数的值。如果左边表达式的值可以转换为false(比如null,undefined,NaN,0,,false),那么运算结束,直接返回第一个操作数的值。

  第三步:如果第一个操作数可以转换为true,则计算第二个操作数的值(右表达式)。

  第四步:返回第二个操作数的值。

  示例1

  下面的代码使用逻辑AND运算来检测变量并初始化它们。

  var用户;//定义变量

  (!user console . log( no assignment );//返回提示信息“没有赋值”相当于:

  var用户;//定义变量

  如果(!用户){ //条件判断

  Console.log(变量未赋值);

  }如果变量user的值为0或者空字符串等false值被转换为布尔值,则为false。然后,变量赋值后,仍然提示变量未赋值。因此,在设计时,需要确保左边的逻辑和表达式的返回值是可预测的值。

  var用户=0;//定义和初始化变量

  (!User console.log(变量未赋值));//返回提示信息“变量未赋值”。右表达式不应包含赋值、递增、递减、函数调用等有效操作,因为当左表达式为false时,右表达式将被直接跳过,对后续操作有潜在影响。

  逻辑或运算

  OR运算是布尔OR运算。如果两个操作数都为真,或者其中一个为真,则返回真,否则返回假。如图所示。

  或者第一操作数和第二操作数的逻辑运算结果。truetruetruetruefalstruefalsellogic OR也是短路逻辑的一种。左表达式为真,结果直接短路,右表达式不运算。操作逻辑如下:

  第一步:计算第一个操作数的值(左表达式)。

  第二步:检查第一个操作数的值。如果左边表达式的值可以转换为true,则运算结束,直接返回第一个操作数的值。

  第三步:如果第一个操作数可以转换为false,则计算第二个操作数的值(右表达式)。

  第四步:返回第二个操作数的值。

  示例2

  对于以下四个表达式:

  var n=3;

  (n==1)console . log(1);

  (n==2)console . log(2);

  (n==3)console . log(3);

  ( !n)console . log( null );你可以使用逻辑或结合逻辑:

  var n=3;

  (n==1) console.log(1)

  (n==2) console.log(2)

  (n==3) console.log(3)

  ( !n)console . log( null );因为运算符的优先级高于运算符,所以不需要使用括号进行分组。但是,用括号分组后,代码更容易阅读。

  var n=3;

  ((n==1) console.log(1))

  ((n==2) console.log(2))

  ((n==3) console.log(3))

  (( !n)console . log( null ) 逻辑AND和逻辑OR运算符有以下两个特征:

  在逻辑运算的过程中,操作数暂时转换为布尔值,然后根据布尔值决定下一次运算,但操作数的类型和最终返回的结果不会受到影响。

  由第一个操作数控制,第二个操作数可能不被执行。

  逻辑非运算

  逻辑非运算!是布尔否定运算(NOT)。作为一元运算符,它直接放在操作数之前,将操作数的值转换为布尔值,然后对其求反并返回。

  示例3

  下面是一些特殊操作数的逻辑非运算返回值。

  console.log(!{} );//如果操作数是对象,则返回false

  console.log(!0 );//如果操作数为0,则返回true

  console.log(!(n=5));//如果操作数是非零的任何数字,则返回false

  console.log(!null);//如果操作数为空,则返回true

  console.log(!南);//如果操作数是NaN,则返回true

  console.log(!无穷大);//如果操作数是无穷大,则返回false

  console.log(!(-无穷大));//如果操作数是-Infinity,则返回false

  console.log(!未定义);//如果操作数未定义,则返回true示例4

  如果对操作数执行两次逻辑“非”运算,则相当于将操作数转换为布尔值。

  console.log(!0 );//返回true

  console.log(!0 );//Return false逻辑AND和逻辑OR运算的返回值不一定是布尔值,但是逻辑NOT运算的返回值一定是布尔值。

  【推荐学习:javascript高级教程】以上是javascript的逻辑运算符的详细介绍。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: