JS中的逻辑运算符&&、||
1、JS中的||符号:
运算方法:
只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。
只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。
总结:真前假后;
2、JS中的&&符号:
运算方法:
只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
总结:假前真后;
总之:谁重要就返回谁;&& 优先级高于 ||
alert((1&&3||0)&&4);
alert(1&&3||0&&4);
alert(0&&3||1&&4);
看到第一行:
1&&3 :对于&& 如果前面的是真的,它还需要知道后面的值是否是真的,所以当前面为真了,那么后面的值决定了它的真假,所以 前面真了,就返回后面的值;所以 1&&3 结果是3
3||0,对于|| ,如果前面的值是真,那么后面的值是否是真、假不重要,所以返回前面的值,因为他才是重要的;所以 3||0 结果是 3
3 &&4 同理 3&&4 返回4;
综上:第一行的数据返回结果是 4;
第二行:
1&&3 前面是真,重要的是后面的值,返回3;
0&&4 前面为假了,那么对于&&而言 后面是什么都不重要,因为都是假的,所以返回0;
3&&0 同理,返回3;
综上:第二行的数据返回结果是 3;
第三行:
0&&3,返回0,&&运算而言 前面已经是假了,就返回了,即0;
1&&4,返回4,&&前面是真,还得看看后面的值,后面的值重要,因为他决定了 真假;
0||4,对应 || 前面是假了,后面的值就很重要了,后面的值决定了该条语句的真假,所以返回4;
综上:第三行数据返回4;
弄懂了以上说的还应该知道:
js的6个蛋蛋:在js逻辑运算中,0、”“、null、false、undefined、NaN都会判为false,其他都为true。
其实 II && 常用来判断当前获取的值是否“有效”;比如表单验证,
比如:
<form>
<input type="text" name="username" id="username">
<input type="password" name="password" id="password">
</form>
var username = $("#username").val()
var password = $("$password").val()
if(!!username ){
alert("请输入用户名")
}
if(!!password ){
alert("请输入密码")
}
但是大多数时候除了需要知道值的真假,还要赋值;如果是假,则赋值;所以 || 和&&特别重要。
var a = x || 0;
var b = parseInt(a);
在这种情况下,运算符就起到了特别大的作用,x=undefined,如果直接parseInt(x),就报错了。。。。
本文参考地址:https://www.cnblogs.com/yuanxinghuo/p/7881366.html
JS中的逻辑运算符&&、||的更多相关文章
- js中的逻辑运算符详解(||、&&、!)
视频地址:https://www.bilibili.com/video/BV1Y7411K7zz?p=1 一直以来都没弄清楚js中的逻辑运算符是怎么回事 , 一直都以为他们的用法和java一样 , 今 ...
- JS中的逻辑运算符&&、||,位运算符|,&
1.JS中的||符号: 运算方法: 只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值. 只要“||”前面为true,不管“||”后面是true还是fals ...
- JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...
- js中的逻辑与(&&)和逻辑或(||)
之前有一个同事去面试,面试过程中碰到这样一个问题: 在js中写出如下的答案 : var a = 2; var b = 3; var andflag = a && b ; var orf ...
- js中的运算符和条件语句
js中的运算符大体上可以分为4类:1算术运算符.2一元操作符.3比较运算符.4逻辑运算符. 算术运算符一般指的是加减乘除求余这五种操作符:+,-,*,/,%.通过算术运算符可以对js中的变量进行操作. ...
- js中三目运算符和&& || 符的个人浅见
这两天看到别人写的代码,感觉很牛逼,如下,大神请忽视 $(".lgn").on("click", function() { var a = {}; a.logi ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- 关于JS中涉及的常用类型转换及运算符表达式
JS中的常用类型转换(一般用强制转换):1.强制转为整数:parseInt:写法:x = parseInt(x); 2.强制转换位小为:parseFloat:写法:x = parseFloat(x); ...
随机推荐
- leetcode:124. 二叉树中的最大路径和
题目描述: 给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不一定经过根节点. 示例 1: 输入: [1,2,3] 1 ...
- Learning to Learn and Predict: A Meta-Learning Approach for Multi-Label Classification
Learning to Learn and Predict: A Meta-Learning Approach for Multi-Label Classification 2019-10-01 11 ...
- order by 多个条件
ORDER子句按一个或多个(最多16个)字段排序查询结果,可以是升序(ASC)也可以是降序(DESC),缺省是升序.ORDER子句通常放在SQL语句的最后.ORDER子句中定义了多个字段,则按照字段的 ...
- QPS/TPS的预估
先说标准概念: TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数.TPS包括一条消息入和一条消息出,加上一次用户数据库访问.(业务TPS = ...
- ubuntu16 安装 qBittorrent ( Linux下BT下载图形工具 )
qBittorrent 是QT编写的一款BT下载软件,支持FreeBSD, Linux, macOS, OS/2, Windows: 官网:https://www.qbittorrent.org/ 在 ...
- Windows下将网络共享目录挂载到指定文件夹
简述 因为某些原因,设计好的目录结构是不能动的,因此需要将网络共享目录挂载到指定目录下,以便扩容. 在Linux下这完全没有问题,但是Windows下的操作就稍微复杂一点. 1.直接使用net use ...
- mysql判断表字段或索引是否存在,然后修改
判断字段是否存在: DROP PROCEDURE IF EXISTS schema_change; DELIMITER // CREATE PROCEDURE schema_change() BEGI ...
- 字典的key都可以是什么
一个对象能不能作为字典的key,就取决于其有没有__hash__方法.所以所有python自带类型中,除了list.dict.set和内部至少带有上述三种类型之一的tuple之外,其余的对象都能当ke ...
- java初中级面试题(最新版)
Java基础方面: 概念 1.什么是面向对象? 万物皆对象,把现实中有共同特性行为的对象抽象成类,类是程序中最基本的单位. 2.类和对象 面向对象的思想是如何在java展现的呢? 就是通过类和对象 * ...
- JAVA 创建也项目平级文件
String url = System.getProperty("user.dir") +"/logs/test.txt" File file = new Fi ...