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 eval函数深入认识
Feb 21 Javascript
js匿名函数的调用示例(形式多种多样)
Aug 20 Javascript
jQuery中DOM操作实例分析
Jan 23 Javascript
jquery背景跟随鼠标滑动导航
Nov 20 Javascript
react.js 获取真实的DOM节点实例(必看)
Apr 17 Javascript
微信小程序 wx.request方法的异步封装实例详解
May 18 Javascript
vue移动端轻量级的轮播组件实现代码
Jul 12 Javascript
Vue.js单向绑定和双向绑定实例分析
Aug 14 Javascript
基于layui table返回的值的多级嵌套的解决方法
Sep 19 Javascript
详细介绍解决vue和jsp结合的方法
Feb 06 Javascript
JS写滑稽笑脸运动效果
May 28 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 Vue.js
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 adodb分页实现代码
2009/03/19 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
PHP程序中使用adodb连接不同数据库的代码实例
2015/12/19 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
极酷的javascirpt,让你随意编辑任何网页
2007/02/25 Javascript
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
js tab 选项卡
2009/04/26 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
jQuery ready()和onload的加载耗时分析
2016/09/08 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
Python中获取网页状态码的两个方法
2014/11/03 Python
连接Python程序与MySQL的教程
2015/04/29 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
python 弧度与角度互转实例
2020/04/15 Python
python switch 实现多分支选择功能
2020/12/21 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
药学专业毕业生求职信
2013/10/20 职场文书
干部培训自我鉴定
2014/01/22 职场文书
升国旗仪式主持词
2014/03/19 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis
Nginx安装配置详解
2022/06/25 Servers