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鼠标和滚轮事件
Jun 27 Javascript
使用jquery自定义鼠标样式满足个性需求
Nov 05 Javascript
javascript实现的HashMap类代码
Jun 27 Javascript
jQuery制作简洁的图片轮播效果
Apr 03 Javascript
Bootstrap实现响应式导航栏效果
Dec 28 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
Dec 27 Javascript
js鼠标移动时禁止选中文字
Feb 19 Javascript
jQuery实现拖动效果的实例代码
Jun 25 jQuery
小程序封装路由文件和路由方法(5种全解析)
May 26 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
Jul 21 Javascript
Vue组件简易模拟实现购物车
Dec 21 Vue.js
关于uniApp editor微信滑动问题
Jan 15 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
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
深入理解JavaScript的async/await
2018/08/05 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
python字典多条件排序方法实例
2014/06/30 Python
Python中的闭包详细介绍和实例
2014/11/21 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
python入门之基础语法学习笔记
2020/02/08 Python
python基于socket函数实现端口扫描
2020/05/28 Python
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
Hotels.com印度:酒店预订
2019/05/11 全球购物
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
高级人员简历的自我评价分享
2013/11/03 职场文书
电大毕业生自我鉴定
2013/11/10 职场文书
挂职自我鉴定
2014/02/26 职场文书
岗位廉政承诺书
2014/03/27 职场文书
机关搬迁方案
2014/05/18 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书