js与运算符和或运算符的妙用


Posted in Javascript onFebruary 14, 2014

如下题用if else实现不同条件下(add_step的变化), add_level的结果值不同:

var add_level = 0; 
if(add_step == 5){ 
add_level = 1; 
} 
else if(add_step == 10){ 
add_level = 2; 
} 
else if(add_step == 12){ 
add_level = 3; 
} 
else if(add_step == 15){ 
add_level = 4; 
} 
else { 
add_level = 0; 
}

1)以上功能也可以通过switch来实现:

var add_level = 0; 
switch(add_step){ 
case 5 : add_level = 1; 
break; 
case 10 : add_level = 2; 
break; 
case 12 : add_level = 3; 
break; 
case 15 : add_level = 4; 
break; 
default : add_level = 0; 
break;

2)Javasctipt通过||和&&来实现:

var add_level = (add_step==5 && 1) || (add_step==10 && 2) || (add_step==12 && 3) || (add_step==15 && 4) || 0;

3)第2种写法也可以简写为:

var add_level={'5':1,'10':2,'12':3,'15':4}[add_step] || 0;

从第2种写法中可以得出一个基本公式:

add_step==5 && add_level=1

等价于 <==>
if(add_step==5){
  add_level = 1
}
Javascript 相关文章推荐
jquery ui dialog里调用datepicker的问题
Aug 06 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
Oct 21 Javascript
input输入框鼠标焦点提示信息
Mar 17 Javascript
javascript鼠标右键菜单自定义效果
Dec 08 Javascript
jQuery实现摸拟alert提示框
May 22 Javascript
阿里云ecs服务器中安装部署node.js的步骤
Oct 08 Javascript
node.js + socket.io 实现点对点随机匹配聊天
Jun 30 Javascript
Angular.js自动化测试之protractor详解
Jul 07 Javascript
微信小程序 自定义消息提示框
Aug 06 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
Aug 16 Javascript
使用use注册Vue全局组件和全局指令的方法
Mar 08 Javascript
uni-app 微信小程序授权登录的实现步骤
Feb 18 Javascript
Javascript和Java获取各种form表单信息的简单实例
Feb 14 #Javascript
jquery中交替点击事件的实现代码
Feb 14 #Javascript
javascript获取form里的表单元素的示例代码
Feb 14 #Javascript
javascript删除数组元素并且数组长度减小的简单实例
Feb 14 #Javascript
javascript中apply和call方法的作用及区别说明
Feb 14 #Javascript
jQuery获取和设置表单元素的方法
Feb 14 #Javascript
javascript生成json数据简单示例分享
Feb 14 #Javascript
You might like
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
深入理解PHP中的Streams工具
2015/07/03 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
js confirm()方法的使用方法实例
2013/07/13 Javascript
js判断运行jsp页面的浏览器类型以及版本示例
2013/10/30 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
基于jQuery实现多层次的手风琴效果附源码
2015/09/21 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
Vue如何实现响应式系统
2018/07/11 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
python中redis的安装和使用
2016/12/04 Python
如何基于线程池提升request模块效率
2020/04/18 Python
python 常见的排序算法实现汇总
2020/08/21 Python
HTML5 script元素async、defer异步加载使用介绍
2013/08/23 HTML / CSS
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
文秘专业个人求职信
2013/12/22 职场文书
教师年度考核评语
2014/04/28 职场文书
美术社团活动总结
2014/06/27 职场文书
实训报告范文大全
2014/11/04 职场文书
六一活动主持词
2015/06/30 职场文书
python中Matplotlib绘制直线的实例代码
2021/07/04 Python
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS
node快速搭建后台的实现步骤
2022/02/18 NodeJs