js 与或运算符 || && 妙用
2013-10-18 17:38
429 查看
如下题用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
}
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
}
相关文章推荐
- js Date
- JavaScript Tutorial 01 #Basic#
- 解析JSON
- Javascript图片预加载详解
- [拾贝] javascript 多行 正则表达式匹配
- Javascript之clipBoard操作
- 尝试回答js问题
- onBlur事件与onfocus事件(js)
- extjs uploadfile this.fileInput is undefined
- JavaScript判断鼠标滚轮滚动方向
- swipe.js文档及用法
- JS实现点击图片在当前页面放大的漂亮效果
- 理解JavaScript中的“this”
- js关闭当前页面不弹出提示的方法 js实现浏览器的各种菜单命令
- JavaScript DOM编程艺术(第2版)读书笔记
- js键盘事件全面控制详解【转】
- JS基础知识(基本类型 引用类型)
- solr 返回的json数据
- JSON对象和字符串之间的相互转换
- js刷新页面方法大全