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. Nginx在Linux安装详解及问题处理

    Linux编译安装 1.nginx 依赖于prce库,要先安装pcre. #yum install prce pcre-devel 2.下载解压nginx #cd /usr/local/src/ #w ...

  2. vue-判断设备是手机端还是pc端

    经常在项目中会有支持 pc 与手机端需求.并且pc与手机端是两个不一样的页面.这时就要求判断设置,根据不同的设置跳转不同的路由. [代码演示] 在 router/index.js 中有两个页面. ex ...

  3. git send-email时报错:Client host rejected: cannot find your hostname 如何处理?

    1. 先找出ip对应的域名 dig +short -x <your ip> 2. 如果第1步没有输出,那么需要将hostname与ip绑定,如:hostname为jello,那么是往/et ...

  4. linux 下项目的发布

    [wangq10@VM000001865 logs]$ [wangq10@VM000001865 ~]$ ls[wangq10@VM000001865 logs]$ apache-tomcat-7.0 ...

  5. CentOS linux7 磁盘分区

    常用命令 df [选项] [文件] -a  显示全部文件系统 -h 方便阅读方式显示 -l 只显示本地文件系统 -T 显示文件系统类型 fdisk  /dev/sda1

  6. java.lang.reflect.Method.getAnnotation()方法示例

    转: java.lang.reflect.Method.getAnnotation()方法示例 作者: 初生不惑 Java技术QQ群:227270512 / Linux QQ群:479429477   ...

  7. Linux系统调优相关工具

    一.系统调优概述 系统的运行状况: CPU -> MEM -> DISK*-> NETWORK -> 应用程序调优 分析是否有瓶颈(依据当前应用需求) 调优(把错误的调正确) ...

  8. [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(一) (转)

    http://www.cnblogs.com/liqingwen/p/6640861.html 一步步打造一个简单的 MVC 电商网站 - BooksStore(一) 本系列的 GitHub地址:ht ...

  9. React Native面试题记录

    一.ES6中增加了那些新的功能? 1> for-of循环: 使用 for-of 的时候,循环的是数组内部的元素且不会出现 for-in 中将附加属性也遍历的情况,其次,循环变量的类型和其在数组中 ...

  10. mysql innodb阻塞分析

    http://blog.csdn.net/hw_libo/article/details/39080809