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); ...
随机推荐
- 树形dp专题总结
树形dp专题总结 大力dp的练习与晋升 原题均可以在网址上找到 技巧总结 1.换根大法 2.状态定义应只考虑考虑影响的关系 3.数据结构与dp的合理结合(T11) 4.抽直径解决求最长链的许多类问题( ...
- <每日 1 OJ> -Table
上图是一个Mysql查询结果图,我们看到这个表格非常漂亮,只需要使用”+”和”-”两个符号就可以打印,现在你的任务是打印一个n×m的表格我们定义单位长度(水平方向有三个”-”,竖直方向有一个”| ”, ...
- Kafka(三)High Availability 高可用
参考文档: http://www.jasongj.com/2015/04/24/KafkaColumn2/#ACK%E5%89%8D%E9%9C%80%E8%A6%81%E4%BF%9D%E8%AF% ...
- 一分钟理解什么是REST和RESTful
从事web开发工作有一小段时间,REST风格的接口,这样的词汇总是出现在耳边,然后又没有完全的理解,您是不是有和我相同的疑问呢?那我们一起来一探究竟吧! 就是用URL定位资源,用HTTP描述操作. 知 ...
- [Web] mobx 异步操作
转载自:https://www.jianshu.com/p/66dd328726d7 异步action action只能影响正在运行的函数,而无法影响当前函数调用的异步操作 .action 包装/装饰 ...
- 强烈建议为你的Android项目加上 largeHeap 属性
小内存机器使用“微信”时,看视频经常崩溃(out of memory) ,小内存机器有时候明明内存还很多,却还是抛出“内存不够”,应该就是每个APP能用“堆大小”的限制. 如上图,Android项目的 ...
- 软件开发的podcast
目录 中文 喜马拉雅 https://www.ximalaya.com/ SingularFM 8个开发者值得一听的英文 Podcast https://zhuanlan.zhihu.com/p/24 ...
- CentOS7 升级 cmake
编译cmake文件时,报错:CMake 3.0.0 or higher is required. You are running version 2.8.12.2 很明显,这是 cmake 版本过低导 ...
- java合并多个word 2007 文档 基于docx4j
参考文章:http://dh.swzhinan.com/post/185.html 引入的jar包 <dependency> <groupId>org.docx4j</g ...
- fashion MNIST识别(Tensorflow + Keras + NN)
Fashion MNIST https://www.kaggle.com/zalando-research/fashionmnist Fashion-MNIST is a dataset of Zal ...