1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script type="text/javascript">
  7.  
  8. /*
  9. * JS中为我们提供了三种逻辑运算符
  10. * ! 非
  11. * - !可以用来对一个值进行非运算
  12. * - 所谓非运算就是指对一个布尔值进行取反操作,
  13. * true变false,false变true
  14. * - 如果对一个值进行两次取反,它不会变化
  15. * - 如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反
  16. * 所以我们可以利用该特点,来将一个其他的数据类型转换为布尔值
  17. * 可以为一个任意数据类型取两次反,来将其转换为布尔值,原理和Boolean()函数一样
  18. *
  19. * && 与
  20. * - &&可以对符号两侧的值进行与运算并返回结果
  21. * - 运算规则
  22. * - 两个值中只要有一个值为false就返回false,
  23. * 只有两个值都为true时,才会返回true
  24. * - JS中的“与”属于短路的与,
  25. * 如果第一个值为false,则不会看第二个值
  26. *
  27. * || 或
  28. * - ||可以对符号两侧的值进行或运算并返回结果
  29. * - 运算规则:
  30. * - 两个值中只要有一个true,就返回true
  31. * 如果两个值都为false,才返回false
  32. * - JS中的“或”属于短路的或
  33. * 如果第一个值为true,则不会检查第二个值
  34. */
  35.  
  36. var a = false;
  37. //对a进行非运算
  38. a = !a;
  39. console.log(a);//true
  40.  
  41. //如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反
  42. var b = 10;
  43. b = !!b;
  44. console.log(b); //true
  45. console.log(typeof b); //boolean
  46.  
  47. //------------------------------------------------------------------------
  48.  
  49. //如果两个值都是true则返回true
  50. var result = true && true;
  51. console.log(result); //true
  52.  
  53. //只要有一个false,就返回false
  54. result = true && false;
  55. result = false && true;
  56. result = false && false;
  57. console.log(result); //false
  58.  
  59. //第一个值为true,会检查第二个值
  60. true && alert("看我出不出来!!");//可以弹窗
  61.  
  62. //第一个值为false,不会检查第二个值
  63. false && alert("看我出不出来!!");//没有出现弹窗
  64.  
  65. //--------------------------------------------------------------------
  66.  
  67. //两个都是false,则返回false
  68. result = false || false;
  69. console.log("result = "+result);//false
  70.  
  71. //只有有一个true,就返回true
  72. result = true || false;
  73. result = false || true ;
  74. result = true || true ;
  75. console.log("result = "+result);//true
  76.  
  77. //第一个值为false,则会检查第二个值
  78. false || alert("123"); //可以弹窗
  79.  
  80. //第一个值为true,则不再检查第二个值
  81. true || alert("123"); //没有出现弹窗
  82.  
  83. </script>
  84. </head>
  85. <body>
  86. </body>
  87. </html>

JS基础_逻辑运算符的更多相关文章

  1. JS基础_标识符

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. JS基础_全局作用域

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. JS基础_函数的简介

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. JS基础_数组的遍历

    遍历:将数组中所有的元素都取出来 1.for循环 var arr = ["1","2","3"]; for(let i=0;i<arr ...

  5. JS基础_垃圾回收(GC)

    垃圾回收(GC) 程序运行过程中也会产生垃圾,这些垃圾积攒过多以后,会导致程序运行的速度过慢,所以我门需要一个垃圾回收的机制,来处理程序运行过程中产生的垃圾 当一个对象没有任何的变量或属性对它进行引用 ...

  6. JS基础_基本数据类型和引用数据类型

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. JS基础_属性名和属性值

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. JS基础_对象的简介、对象的基本操作

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. JS基础_流程控制语句

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. laravel中orderBy使用

    laravel中orderBy使用 一.总结 一句话总结: 链式操作:laravel中的数据库操作可以是链式操作,所以类似这种想要多个orderBy效果的就直接接在后面写就可以了 User::orde ...

  2. php屏蔽电话号码中间四位

    php屏蔽电话号码中间四位 一.总结 一句话总结: 直接就是substr_replace函数:$str = substr_replace("13966778888",'****', ...

  3. HearthBuddy 突袭 rush

    https://hearthstone.gamepedia.com/Rush Rush is an ability allowing a minion to attack other minions ...

  4. WordPress窗体化侧边栏

    窗体化侧边栏是一个支持 Widget 的侧边栏或者说是窗体化(widgetized)的侧边栏几乎是 WordPress 主题的标准. 首先,什么是窗体化(widgetizing)呢?简单的说,窗体化就 ...

  5. 限定某个业务控制方法,只允许GET或POST请求方式访问

    可以在业务控制方法前,指明该业务控制方法只能接收GET或POST的请求 @Controller @RequestMapping(value="/user") public clas ...

  6. WPF Win32 API 嵌入Form 窗体

    WIn32 API: public class Win32Native { [DllImport("user32.dll", SetLastError = true, CharSe ...

  7. jmeter之吞吐量控制器

    比如说有一种场景是,10个并发里,有2个事操作业务A,有8个是操作业务B,要模拟这种业务场景,则可以通过吞吐量控制器来模拟 目录 1.用法 2.举例 1.用法 第一种:设置比例控制 选择percent ...

  8. Linux命令集锦:ansible命令

    ansible 命令主要用于批量管理,来实现自动化管理.常用批量操作包括:主机分组管理.实时批量执行命令或脚本.实时批量分发文件或目录.定时同步文件等. 一.安装 ansible yum instal ...

  9. SCI EI 检索的会议期刊

    SCI EI 收录 SCI EI 收录 SCI Impact Factor Search: http://www.heavyoil.cn/if.aspx SCI indexed journal lis ...

  10. C# 字典、集合、列表的时间复杂度

    List列表是顺序线性表,Add操作是O(1)或O(N),因为List是动态扩容的,在未扩容之前,其Add操作是O(1),而在扩容的时候,Add操作是O(N)的.其Contains方法,是按照线性检索 ...