JS 巧用 && 与 ||
在对于流程控制语句当中,我们最熟悉不过的就是
if (条件){ //代码块 }else{ //代码块 }
对于一个执行不同的代码来说,如果执行的代码很多,可能就有必要使用上面这种方式
但往往我们开发当中,也会碰到一些赋值操作,如果使用上面方式,未免显得太过冗余。
举个例子:
var num1 = 10; var num2 = 20; // 假如 num2 > num1 就 alert( num2 ) 否则 alert( num1 )
// 可能见到的写法会有以下方式
if( num2 > num1 ){
alert( num2 );
}else{
alert( num1 );
}
可以看见以上方式,只是输出一个结果,却用了五行代码来去实现。
接下来,我们见证下怎么使用一行代码去替代上面五行代码实现的结果
var num1 = 10; var num2 = 20;
// 第一种方式 也可以使用 三目运算符 alert( num2 > mum1 ? num2 : num1 );
//第二种方式 就是使用 && ,|| alert( num2 > num1 && num2 || num1 );
使用 &&,|| 比三目运算的优势在于,它可以判断多个条件,也可以单独使用
举个 && 例子:
var num1 = 10; var num2 = 5; // 假如 num1,num2 都大于10 则输出 num1+num2; var result = num1>10 && num2 >10 && num1+ num2 || 0; alert(result);
我们开发知道,在开发当中,读取后端返回的数据可能因某种原因而未读取到,那么接收的数据如果是对象,都会在接收该字段的时候额外加上没有获取到时的字段
举个 || 例子:
var reuslt = res && res.data || []; if ( result.length ) return;
使用这种方式,可以通过条件判断是否使用该变量,假如是对象,如果没有获取到,而使用该对象属性,则会报错。
而避免这种模式,就是在使用的时候,一定要判断,判断,判断
JS 巧用 && 与 ||的更多相关文章
- js巧用apply方法实现数组最值以及合并
尽管js的apply方法在平常的使用中并不多见,但是在某些地方使用的还是很有帮助性的,这里就和大家说两个比较实用的例子:1.数组最大最小值 求数组中的最大最小值,js有相应的方法:Math.min() ...
- 王下邀月熊_Chevalier的前端每周清单系列文章索引
感谢 王下邀月熊_Chevalier 分享的前端每周清单,为方便大家阅读,特整理一份索引. 王下邀月熊大大也于 2018 年 3 月 31 日整理了自己的前端每周清单系列,并以年/月为单位进行分类,具 ...
- 巧用JS内置对象Function
在做练习的时候也好,做项目的时候也好,我经常会碰到想要的到一个字符串“”里面的东西的这样的需求. 注意,“”里面的东西可以是任何东西[],number等等 于是有了个大神教我一个绝招: 于是世界圆满了 ...
- 巧用开发者工具的控制台来调试页面中的js语句
因为要弄某网页的一个自动登陆工具,所以需要对此网页中的元素利用js进行选取和操作,复杂的js选取如果直接在头脑中想很容易出错,而且一旦出错也不好判断错误原因. 而浏览器带的开发者工具的控制台功能,就给 ...
- Post请求data参数构造及巧用js脚本显示爬虫进度
小爬最近随着对python中字符串.json等理解进一步加深,发现先前我随笔中提到的data构造和传参方法略复杂,原本有更简单的方法,Mark如下. 先前小爬我使用的requests.post请求中d ...
- 巧用CSS3 :target 伪类制作Dropdown下拉菜单(无JS)
:target 是CSS3 中新增的一个伪类,用以匹配当前页面的URI中某个标志符的目标元素(比如说当前页面URL下添加#comment就会定位到id=“comment”的位置,俗称锚).CSS3 为 ...
- 巧用CSS3:target 伪类制作Dropdown下拉菜单(无JS)
原文链接:http://devework.com/css3-target-dropdown.html :target 是CSS3 中新增的一个伪类,用以匹配当前页面的URI中某个标志符的目标元素(比如 ...
- 巧用JS中的join方法操作字符串
1.将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符 /** *把数组转换成特定符号分割的字符串 */ function arrayToString(arr,s ...
- 巧用函数实现js插入css样式
我用的是webstorm,当写css 样式时候,会没有提示,可以按Ctrl+Alt+Space.
随机推荐
- java记事本1.2版
功能:实现了新建,打开,保存,退出,复制,剪切,粘贴等功能 效果图:
- java可访问修饰符
修饰符 同一个类中 同一个包中 不同包的子类 不提供包的非子类 private √ friendly(省略) √ √ protected √ √ √ public √ √ √ √
- Java 第八周总结
1. 本周学习总结 2. 书面作业 1.List中指定元素的删除 1.1 实验总结 list中可以通过list.get(i)来获取具体第几个的元素的值,再通过compareTo来对比 通过in.has ...
- 201521123049 《JAVA程序设计》 第5周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 作业参考文件下载 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java ...
- 201521123016 《Java程序设计》第3周学习总结
1. 本周学习总结 2. 书面作业 2.1代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- JAVA课程设计-购物车 (201521123101 柏清晔)
1.团队课程设计博客链接 /[团队博客链接]http://www.cnblogs.com/yayaya/p/7062197.html 2.个人负责模板或任务说明 1.连接数据库 2.修改购物车的jsp ...
- 201521123009 《Java程序设计》第1周学习总结
1. 本周学习总结 对Java进行了了解与简单的学习.第一次接触Java觉得比较难理解. 希望之后的深入学习可以解决目前的一些问题. 2. 书面作业 为什么java程序可以跨平台运行?执行java程序 ...
- webservice第三篇【接口开发webservice、CXF框架使用、IDEA下使用webservice、小例子】
实现接口的webservice 服务端 import javax.jws.WebService; /**面向接口的webservice发布方式 * * */ @WebService public in ...
- Servlet第六篇【Session介绍、API、生命周期、应用】
什么是Session Session 是另一种记录浏览器状态的机制.不同的是Cookie保存在浏览器中,Session保存在服务器中.用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录 ...
- CentOS 通过yum安装web环境
以前有过记录用过linux安装包来安装,但是需要手动配置环境.这次是用yum 来安装web环境,就可以不需要手动配置环境. 1,安装mysql 通过yum安装mysql 输入:rpm -qa | gr ...