javascript逻辑与(&&)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>javascript逻辑与</title>
<!--
逻辑与(&&)个人理解:
前提条件:
-逻辑与的判定顺序:从左到右;
-只要遇到假/null/undefined/NaN就不会再往下判定。直接返回第一个假/null/undefined/NaN的值
-全真时返回最后一个真的值
1)操作数都是布尔值
全真时:返回true
1假或多假:返回false
2)操作数为多类型混合(表达式、布尔值等其他类型)
1假/多假/全假:返回第一个假
全真:返回最后一个真
3)特殊情况:操作数为null/undefined/NaN
只要含有null/undefined/NaN,就会返回null/undefined/NaN;
如果null/undefined/NaN同时存在,则返回null/undefined/NaN中的第一个。
-->
</head>
<body>
<script>
var a=10,b="10",c=20,d="",e=0,f="dd",g;
/* 逻辑与:布尔型 */
console.log(a==b && a<c);//true
console.log(a==b && a>c);//false
/* 逻辑与:混合型 */
console.log(e && a);//0,第一个操作数e假,返回第一个,e
console.log(a && d);//"",第一个操作数a真,返回第二个,d
console.log(a && b && c);//20,a\b\c都为true,返回最后一个,c
console.log(a && d && e);//"",a真,d假,e假,返回第一个假,d=""
console.log(a && b && c);//20,全真,返回最后一个真
console.log(null && a && b && c);//null
console.log((a-f) && a && b);//NaN
console.log(g && a && b);//undefined
console.log(NaN && null && defined);//NaN,这三个谁是第一返回谁
</script>
</body>
</html>
javascript逻辑与(&&)的更多相关文章
- JavaScript逻辑and、or、not运算符详解
一.AND详解: 在JavaScript中,逻辑 AND 运算符用双和号(&&)表示. 需要说明的是:逻辑AND运算的运算数可以是任何类型的,不止是Boolean值,如果某个运算数不是 ...
- javascript逻辑非(!/!!)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- javascript逻辑或(||)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JS && || 陷阱 javascript 逻辑与、逻辑或 【转】
通常来说逻辑运算a&&b和a||b分别是逻辑与运算和逻辑或运算,返回的是一个布尔值,要么为true,要么为false. 比如在PHP里面a&&b返回类型永远是布尔值,非 ...
- HTML5 网页 漂浮窗广告 JavaScript逻辑 - demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JavaScript 逻辑与(&&) 与 逻辑或(||) 运算规则
逻辑与(&&) 逻辑与(&&)操作可以应用于任何的操作类型,不仅仅是布尔值, 在有一个操作数不是布尔值的情况下,&&操作符就不一定返回布尔值:遵循下面规 ...
- javascript 逻辑操作符
JS按位与(&) 0001 & 0011 --- 0001 只有两个数的值为1时,才返回1 JS按位异或 (^) 0101 (expression1) 1100 (expressi ...
- JavaScript逻辑分支switch 练习题
1.输入月份,显示当月的天数, 利用case穿透简化代码 var month = prompt("请输入月份"); var year = prompt("请输入年份&q ...
- JavaScript学习总结(三)——逻辑And运算符详解
在JavaScript中,逻辑 AND 运算符用双和号(&&)表示 1 var bTrue = true; 2 var bFalse = false; 3 var bResult = ...
随机推荐
- 解决maven项目无法读取src/main/java目录下面的配置文件问题
我们在用Mybatis去操作底层数据库的时候,需要用到xml配置文件,一般我们是把配置文件和dao放置在同一层目录. 但是在用idea操作maven项目的时候,我们可能会遇到无法读取到dao对应的ma ...
- C++Primer 5th Chap5 Statements
else语句对应的始终是最近的那条if语句,除非有{}强行控制,如: if(A){ if(B){/*.............*/} }else{/*.......*/}//这里else和if(A)对 ...
- 猴子补丁(Monkey Patching)
猴子补丁是我在面试的时候接触的一到题,学python的时候,我根本就没有听说这个概念!那接下来我们来分析一下: 1.什么是猴子补丁? 2.猴子补丁的功能? 3.猴子补丁的应用场景? 一.什么是猴子补丁 ...
- 1269: 划分数(Java)
WUSTOJ 1269: 划分数 参考博客 果7的博客 题目 将 1 个数 n 分成 m 份,求划分的种数.更多内容点击标题. 分析 唯一需要注意的地方是不考虑顺序.其他的直接看代码即可. 代 ...
- go 函数定义
-------------------------------------------- package main import "fmt" func add(x int, y i ...
- 20-MySQL DBA笔记-可扩展的架构
第20章 可扩展的架构 本章将为读者讲述可扩展的架构相关的知识和技术.可扩展的架构意味着这个架构伸缩性好,我们可以用更多的节点来提高吞吐率,而性能(响应时间)不会下降到不可接受的范围.互联网世界飞速发 ...
- 【转载】Java枚举的使用
枚举类型可以取代以往常量的定义方式,即将常量封装在类或接口中.此外,枚举类型还提供了安全检查功能.枚举类型本质上还是以类的形式存在. 1.使用枚举类型设置常量以往设置常量,通常将常量放置在接口中,这样 ...
- c#获取本月有哪些周六、周日
最近项目中有用到本月所有的周六,周日,特此分享一下! 算法思路:写一个循环,条件为本月开始日期.本月截至日期,通过循环获取第一个周六,加一天就是周日,每增加六天就是下一个周六,依次类推,循环到月末 代 ...
- Java Web 深入分析(1)B/S架构概述
B/S结构即浏览器和服务器结构.它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实 ...
- adminMongo:mongoDB node GUI(mongoDB图形化界面)
adminMongo:mongoDB node GUI(mongoDB图形化界面) 获取项目项目 克隆:git clone https://github.com/mrvautin/adminMongo ...