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 相关文章推荐
仅用[]()+!等符号就足以实现几乎任意Javascript代码
Mar 01 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
May 07 Javascript
javascript特殊用法示例介绍
Nov 29 Javascript
学习javascript面向对象 掌握创建对象的9种方式
Jan 04 Javascript
Javascript基础之数组的使用
May 13 Javascript
原生js封装二级城市下拉列表的实现代码
Jun 16 Javascript
JS实现的几个常用算法
Nov 12 Javascript
微信小程序的生命周期的详解
Oct 19 Javascript
vue根据值给予不同class的实例
Sep 29 Javascript
详解Js里的for…in和for…of的用法
Mar 28 Javascript
webpack结合express实现自动刷新的方法
May 07 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
May 27 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
图书管理程序(三)
2006/10/09 PHP
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
js活用事件触发对象动作
2008/08/10 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
Jvascript学习实践案例(开发常用)
2012/06/25 Javascript
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
Python可跨平台实现获取按键的方法
2015/03/05 Python
python实现同时给多个变量赋值的方法
2015/04/30 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
python生成带有表格的图片实例
2019/02/03 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
django多个APP的urls设置方法(views重复问题解决)
2019/07/19 Python
Python笔记之工厂模式
2019/11/20 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
在PyCharm中安装PaddlePaddle的方法
2021/02/05 Python
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
介绍一下mysql的日期和时间函数
2013/03/28 面试题
自我评价是什么
2014/01/04 职场文书
新闻编辑求职信
2014/07/13 职场文书
2014年共青团工作总结
2014/12/10 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
美容院管理规章制度
2015/08/05 职场文书
2016高考冲刺决心书
2015/09/23 职场文书