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 原型继承介绍
Aug 30 Javascript
js字符串截取函数substr substring slice使用对比
Nov 27 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
Sep 09 Javascript
浅谈Javascript的静态属性和原型属性
May 07 Javascript
JS定时器实现数值从0到10来回变化
Dec 09 Javascript
详解微信小程序 template添加绑定事件
Jun 23 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
Nov 25 Javascript
通过JavaScript下载文件到本地的方法(单文件)
Mar 17 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
Apr 23 Javascript
js中let能否完全替代IIFE
Jun 15 Javascript
浅析vue中的provide / inject 有什么用处
Nov 10 Javascript
JavaScript对象原型链原理详解
Feb 05 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 数据库树的遍历方法
2009/02/06 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
PHP基本语法总结
2014/09/06 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
js 加载并解析XML字符串的代码
2009/12/13 Javascript
jquery select多选框的左右移动 具体实现代码
2013/07/03 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
javascript操作符&quot;!~&quot;详解
2015/02/10 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
详解Python命令行解析工具Argparse
2016/04/20 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
python matlibplot绘制3D图形
2018/07/02 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
python Pexpect模块的使用
2020/12/25 Python
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
自我反省检讨书
2014/01/23 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
2014年师德承诺书
2014/05/23 职场文书
体育课外活动总结
2014/07/08 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
2014年化验室工作总结
2014/11/21 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书