<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript"> /*
* JS中为我们提供了三种逻辑运算符
* ! 非
* - !可以用来对一个值进行非运算
* - 所谓非运算就是指对一个布尔值进行取反操作,
* true变false,false变true
* - 如果对一个值进行两次取反,它不会变化
* - 如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反
* 所以我们可以利用该特点,来将一个其他的数据类型转换为布尔值
* 可以为一个任意数据类型取两次反,来将其转换为布尔值,原理和Boolean()函数一样
*
* && 与
* - &&可以对符号两侧的值进行与运算并返回结果
* - 运算规则
* - 两个值中只要有一个值为false就返回false,
* 只有两个值都为true时,才会返回true
* - JS中的“与”属于短路的与,
* 如果第一个值为false,则不会看第二个值
*
* || 或
* - ||可以对符号两侧的值进行或运算并返回结果
* - 运算规则:
* - 两个值中只要有一个true,就返回true
* 如果两个值都为false,才返回false
* - JS中的“或”属于短路的或
* 如果第一个值为true,则不会检查第二个值
*/ var a = false;
//对a进行非运算
a = !a;
console.log(a);//true //如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反
var b = 10;
b = !!b;
console.log(b); //true
console.log(typeof b); //boolean //------------------------------------------------------------------------ //如果两个值都是true则返回true
var result = true && true;
console.log(result); //true //只要有一个false,就返回false
result = true && false;
result = false && true;
result = false && false;
console.log(result); //false //第一个值为true,会检查第二个值
true && alert("看我出不出来!!");//可以弹窗 //第一个值为false,不会检查第二个值
false && alert("看我出不出来!!");//没有出现弹窗 //-------------------------------------------------------------------- //两个都是false,则返回false
result = false || false;
console.log("result = "+result);//false //只有有一个true,就返回true
result = true || false;
result = false || true ;
result = true || true ;
console.log("result = "+result);//true //第一个值为false,则会检查第二个值
false || alert("123"); //可以弹窗 //第一个值为true,则不再检查第二个值
true || alert("123"); //没有出现弹窗 </script>
</head>
<body>
</body>
</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. 数据分析 - pandas 模块

    数据读取结构 -  DataFrame Series (collection of values) DataFrame (collection of Series objects) Panel (co ...

  2. numpy基本方法总结

    NumPy基本方法 一.数组方法 创建数组:arange()创建一维数组:array()创建一维或多维数组,其参数是类似于数组的对象,如列表等 读取数组元素:如a[0],a[0,0] 数组变形:如b= ...

  3. Swagger介绍及使用

    相信无论是前端还是后端开发,都或多或少地被接口文档折磨过.前端经常抱怨后端给的接口文档与实际情况不一致.后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新.其实无论是前端调用后端,还是后端调用 ...

  4. java程序引用别的jar包打包方法

    参考文章:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 目前亲测:eclipse打包: 1.不需要手动写mainfest.inf 先利用ecl ...

  5. 九十三:CMS系统之cms后台登录功能

    config form from wtforms import Form, StringField, IntegerFieldfrom wtforms.validators import Email, ...

  6. 通过Xshell 执行压缩.zip文件出现unzip: command not found错误的解决办法

    利用unzip命令解压缩的时候,出现 -bash: unzip: command not found 的错误. unzip——命令没有找到,其原因肯定是没有安装unzip. 利用一句命令就可以解决了. ...

  7. jquery中对地址中的中文进行encodeURI编码

    传递参数:<script type="text/javascript">     var id= 'abc';  //字符串英文     var num = 998;  ...

  8. Linux Swap的那些事

    swap是干嘛的? 在Linux下,SWAP的作用类似Windows系统下的“虚拟内存”.当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况. SWAP意思 ...

  9. strcpy函数内存分析

    void strcpy(char* strDest, char* strSrc) { while((*strDest++ = *strSrc++) != '\0'); } 看上面这段代码,只有一条语句 ...

  10. C学习笔记-字符串

    对于C语言来说,字符串其实就是最后一个元素为'\0'的char数组 字符数组的初始化 字符数组常见的有两种初始化方式 char str[] = "hello"; 或者 char s ...