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 相关文章推荐
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
Jan 21 Javascript
JQuery AJAX 中文乱码问题解决
Jun 05 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
Mar 05 Javascript
javascript Array 数组常用方法
Apr 05 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
Nov 04 Javascript
js添加事件的通用方法推荐
May 15 Javascript
基于JavaScript实现全选、不选和反选效果
Feb 15 Javascript
Angular.Js中ng-include指令的使用与实现
May 07 Javascript
在 webpack 中使用 ECharts的实例详解
Feb 05 Javascript
vue-router传参用法详解
Jan 19 Javascript
优化Vue项目编译文件大小的方法步骤
May 27 Javascript
Vue Router的手写实现方法实现
Mar 02 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
PHP 中的类
2006/10/09 PHP
PHP 命名空间实例说明
2011/01/27 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
php简单复制文件的方法
2016/05/09 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
vue-cli3添加模式配置多环境变量的方法
2019/06/05 Javascript
在Webpack中用url-loader处理图片和字体的问题
2020/04/28 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
python写xml文件的操作实例
2014/10/05 Python
python开发之thread线程基础实例入门
2015/11/11 Python
Python探索之pLSA实现代码
2017/10/25 Python
django项目搭建与Session使用详解
2018/10/10 Python
python全栈知识点总结
2019/07/01 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
Python concurrent.futures模块使用实例
2019/12/24 Python
一道写SQL的面试题和答案
2013/11/19 面试题
国际金融专业自荐信
2014/07/05 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
大学生见习报告总结
2014/11/04 职场文书
打架检讨书
2015/01/27 职场文书
2015年化验员工作总结
2015/04/10 职场文书
2016年公司新年寄语
2015/08/17 职场文书
分析Python list操作为什么会错误
2021/11/17 Python
django中websocket的具体使用
2022/01/22 Python
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js