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 相关文章推荐
番茄的表单验证类代码修改版
Jul 18 Javascript
动态创建的表格单元格中的事件实现代码
Dec 30 Javascript
Jquery阻止事件冒泡 event.stopPropagation
Dec 11 Javascript
Jquery命名冲突解决的五种方案分享
Mar 16 Javascript
图片轮换效果实现代码(点击按钮停止执行)
Apr 12 Javascript
js弹窗返回值详解(window.open方式)
Jan 11 Javascript
JS 日期比较大小的简单实例
Jan 13 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
Mar 26 Javascript
bootstrap警告框使用方法解析
Jan 13 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
Feb 28 Javascript
javascript Canvas动态粒子连线
Jan 01 Javascript
微信小程序如何实现精确的日期时间选择器
Jan 21 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
PHP Mysql编程之高级技巧
2008/08/27 PHP
PHP 最大运行时间 max_execution_time修改方法
2010/03/08 PHP
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
js点击事件链接的问题解决
2014/04/25 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
详解webpack介绍&amp;安装&amp;常用命令
2017/06/29 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
python入门教程之基本算术运算符
2020/11/13 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
匡威意大利官方商店 :Converse意大利
2018/11/27 全球购物
大专生的学习自我评价
2013/12/04 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
2014年实验室工作总结
2014/12/03 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
幼儿园中秋节活动总结
2015/03/23 职场文书
同意落户证明
2015/06/19 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书