<!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逻辑与(&&)的更多相关文章

  1. JavaScript逻辑and、or、not运算符详解

    一.AND详解: 在JavaScript中,逻辑 AND 运算符用双和号(&&)表示. 需要说明的是:逻辑AND运算的运算数可以是任何类型的,不止是Boolean值,如果某个运算数不是 ...

  2. javascript逻辑非(!/!!)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. javascript逻辑或(||)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. JS && || 陷阱 javascript 逻辑与、逻辑或 【转】

    通常来说逻辑运算a&&b和a||b分别是逻辑与运算和逻辑或运算,返回的是一个布尔值,要么为true,要么为false. 比如在PHP里面a&&b返回类型永远是布尔值,非 ...

  5. HTML5 网页 漂浮窗广告 JavaScript逻辑 - demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. JavaScript 逻辑与(&&) 与 逻辑或(||) 运算规则

    逻辑与(&&) 逻辑与(&&)操作可以应用于任何的操作类型,不仅仅是布尔值, 在有一个操作数不是布尔值的情况下,&&操作符就不一定返回布尔值:遵循下面规 ...

  7. javascript 逻辑操作符

    JS按位与(&) 0001 & 0011 --- 0001 只有两个数的值为1时,才返回1 JS按位异或  (^) 0101 (expression1)  1100 (expressi ...

  8. JavaScript逻辑分支switch 练习题

    1.输入月份,显示当月的天数, 利用case穿透简化代码  var month = prompt("请输入月份"); var year = prompt("请输入年份&q ...

  9. JavaScript学习总结(三)——逻辑And运算符详解

    在JavaScript中,逻辑 AND 运算符用双和号(&&)表示 1 var bTrue = true; 2 var bFalse = false; 3 var bResult = ...

随机推荐

  1. Acquire and Release Fences

    转载自:   http://preshing.com/20130922/acquire-and-release-fences/ Acquire and release fences, in my op ...

  2. CSP-S初赛

    初赛都过了好几天了,现在才想起来写点关于初赛的博客也真是...... 我是福建人,是在福建的赛点参加的CSP-S组的初赛,能力其实很弱,估分只能60多一点点.真是害怕一不小心这篇博客就变成了我的退役博 ...

  3. Centos7.3 安装MYSQL

    安装mysql         1.进入到要存放安装包的位置             mkdir /home/lnmp             cd /home/lnmp         2.查看系统 ...

  4. python面向对象基础-01

    面向对象(OOP)基本概念 前言 话说三国时期曹军于官渡大败袁绍,酒席之间,曹操诗兴大发,吟道:喝酒唱歌,人生真爽! 众将直呼:"丞相好诗",于是命印刷工匠刻板印刷以流传天下; 待 ...

  5. css 样式合集

    td换行: style="word-wrap:break-word;word-break:break-all;" 超长省略号: table { table-layout: fixe ...

  6. mybatis相关知识积累

    mybatis Statement Statement对象用于将 SQL 语句发送到数据库中. 实际上有三种 Statement 对象,它们都作为在给定连接上执行 SQL语句的包容器: Stateme ...

  7. 时间格式_java

    @Test public void testDate(){ Date date=new Date(); System.out.println(date); /*日期格式*/ DateFormat df ...

  8. vscode安装

    vscode是一个很好用而且开源的编辑器,支持多种编程语言,这里稍微总结一下使用,省的以后再安装时候再百度查 下载地址:https://code.visualstudio.com/,打开以后点击dow ...

  9. [Vue]导航守卫:全局的、单个路由独享的、组件级的

    正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航.有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的. 记住参数或查询的改变并不会触发进入/离开的 ...

  10. (错误) Eclipse使用Maven创建Web时错误

    转自:http://blog.csdn.net/afgasdg/article/details/12757433 问题描述: 使用Eclipse自带的Maven插件创建Web项目时报错: Could ...