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 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
Apr 14 Javascript
DOM_window对象属性之--clipboardData对象操作代码
Feb 03 Javascript
jQuery事件绑定.on()简要概述及应用
Feb 07 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
Dec 13 Javascript
js+css实现超简洁的二级下拉菜单效果代码
Sep 07 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
Feb 17 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
Nov 03 Javascript
canvas绘制多边形
Feb 24 Javascript
JS动画定时器知识总结
Mar 23 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
Dec 30 Javascript
基于PHP pthreads实现多线程代码实例
Jun 24 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 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/05/18 PHP
php后台多用户权限组思路与实现程序代码分享
2012/02/13 PHP
php程序内部post数据的方法
2015/03/31 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
php猜单词游戏
2015/09/29 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
js 作用域和变量详解
2017/02/16 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
python多线程编程方式分析示例详解
2013/12/06 Python
python计算N天之后日期的方法
2015/03/31 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
Jacques Lemans德国:奥地利钟表品牌
2019/12/26 全球购物
文明学生标兵事迹
2014/01/21 职场文书
原材料检验岗位职责
2014/03/15 职场文书
质量提升方案
2014/06/16 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
民事纠纷协议书
2016/03/23 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js