javascript中对条件判断语句的优化 分类: JavaScript 2015-06-07 09:54 832人阅读 评论(2) 收藏

时间:2023-03-09 05:25:06
javascript中对条件判断语句的优化                                                       分类:            JavaScript             2015-06-07 09:54    832人阅读    评论(2)    收藏

不管写什么程序,平时都会用到条件语句,如:if...else... switch这样的语句,来达到对条件的判断。下面看来一段代码:

function abc(test){
if (test == 1){
console.log('test的值是'+test);
}
else if (test == 2){
console.log('test的值是'+test);
}
else if (test == 3){
console.log('test的值是'+test);
}
else if (test == 4){
console.log('test的值是'+test);
}
} abc(1);
abc(2);
abc(3);
abc(4);

结果如下:

test的值是1

test的值是2

test的值是3

test的值是4

[Finished in 0.1s]

其实在平时的代码开发中这并没有什么问题,但是很多的时候我们都希望自己的代码能够变的优雅和简单易懂,并且尽可能少的减少重复的代码。对于以上的问题,在js中存在一个switch来代替这样的多if语句判断。

优化后的代码如下:

function bcd(test){
switch(test){
case 1:
console.log('test的值是'+test);
break;
case 2:
console.log('test的值是'+test);
break;
default:
console.log('test的值是null');
}
} bcd();
bcd(1);

结果如下:

test的值是null

test的值是1

那么在js中有没有更好的方法来做到呢?使用js对象的特点可以轻松对switch进行优化,代码如下:

function dcf(test){
return({
cat :function(){console.log('cat');},
dog :function(){console.log('dog');},
zhiqiang : function(){console.log('zhiqiang');}
}[test] || function(){console.log('我是默认值');}
)();
} dcf();
dcf('dog');

我是默认值

dog

这里主要作用到两个知识点:1.js获取对象属性的值2.||操作符取值的问题。

版权声明:本文为博主原创文章,未经博主允许不得转载。