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 父窗口控制子窗口的行为-打开,关闭,重定位,回复
Apr 20 Javascript
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
Sep 06 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
Mar 26 Javascript
js窗口关闭提示信息(兼容IE和firefox)
Oct 23 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
Jan 28 Javascript
JS实现仿百度文库评分功能
Jan 12 Javascript
简单谈谈gulp-changed插件
Feb 21 Javascript
JS实现简单抖动效果
Jun 01 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
JS中数据结构之栈
Jan 01 Javascript
jquery实现上传文件进度条
Mar 26 jQuery
详解微信小程序「渲染层网络层错误」的解决方法
Jan 06 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 团购折扣计算公式
2011/11/24 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
react 父子组件之间通讯props
2018/09/08 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
Python while 循环使用的简单实例
2016/06/08 Python
修改默认的pip版本为对应python2.7的方法
2018/11/06 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
Python实现FLV视频拼接功能
2020/01/21 Python
python 子类调用父类的构造函数实例
2020/03/12 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
FitFlop澳大利亚官网:英国符合人体工学的鞋类品牌
2017/06/05 全球购物
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
自荐信范文
2013/12/10 职场文书
车间机修工岗位职责
2014/02/28 职场文书
霸王洗发水广告词
2014/03/14 职场文书
城管大队整治方案
2014/05/06 职场文书
党委班子对照检查材料
2014/08/19 职场文书
社保转移委托书范本
2014/10/08 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
创业计划书之家教托管
2019/09/25 职场文书
七年级作文之游记
2019/12/11 职场文书