zoukankan      html  css  js  c++  java
  • 你真的理解了JavaScript的逻辑操作符吗?

    (1)与操作符(&&)
    与操作符的执行过程如下:javascript依次获取每一个操作数,将它们转换为布尔变量,如果是false,则直接返回这个操作数的值(注意,返回的是转换前的原值,不一定是布尔类型),中断后面操作数的处理;否则继续处理下一个操作数。如果直到最后一个操作数仍然对应布尔变量true,则返回最后这个操作数的值,下面的代码演示了其执行原理:

    var a="1" && true && 0 && false && "abc";
    alert(a);  //可见a的值是0
    var b="abc" && true && "123";
    alert(b);  //可见b的值是"123";

    (2)或操作符(||)
    和与操作符类似,或操作符的执行过程如下:javascript依次获取每一个操作数,将它们转换为布尔变量,如果是true,则直接返回这个操作数的值,中断后面操作数的处理;否则继续下一个操作数。如果知道最后一个操作数仍然对应布尔变量false,则返回这个操作数的值。下面的代码演示了其执行原理:

    var a="abc" || "123";
    alert(a);  //可见a的值是"abc"
    var b=false || "" || 0;
    alert(b);  //可见a的值是0

    或操作符的这一性质在开发中经常会用到。
    (3)非操作符(!)
    和前两种操作符不同,非操作符始终返回布尔类型的变量,例如:

    var a=! "abc";
    alert(a);  //显示a的值为false
  • 相关阅读:
    UART中RTS、CTS
    Verdi:内存不足
    SV学习之interface
    perl学习之:@_ $_
    perl学习之:package and module
    代码变成可执行程序期间,编译器做了那些事?
    perl学习之:use & require
    perl学习之:use and require
    8位二进制补码表示整数的最小值是什么,最大值是什么
    深入理解计算机系统
  • 原文地址:https://www.cnblogs.com/Kazaf/p/2405853.html
Copyright © 2011-2022 走看看