基本Javacript Switch case练习 - Training JS #8: Conditional stat

平常很少学习到Javacript Switch的写法,虽然我觉得用if else 写感觉更简单明了?

但其实不是这样的,这两种语法在使用的时机上有差别:
1.Switch:他运作的方式是会把 expression 传到 case 的条件,并进行严格相等(===)比较 => case 得到的条件为 true 的话才会执行对应的 statement,也就是说如果有明确的判断值,用 switch 比较合适。
2.if...else:则是需符合条件式内的条件才会执行对应的陈述式,通常是判断「範围区间」时使用。

Switch case 题目:

Complete function howManydays, function accept 1 parameters:month, means the month of year, different month has different days (refer to the following table), return a number that how many days in this month(month is always greater than 0, less than or equal to 12).

我第一次自己写的时候,非常单纯的将所有月份都写出来,如下:

function howManydays(month){  var days = "";  switch (month){    case 1:     days = 31;      break;    case 2:      days = 28;      break;    case 3:      days = 31;      break;    case 4:      days = 30;      break;    case 5:      days = 31;      break;    case 6:      days = 30;      break;    case 7:      days = 31;      break;    case 8:      days = 31;      break;    case 9:      days = 30;      break;    case 10:      days = 31;      break;    case 11:      days = 30;      break;    case 12:      days = 31;      break;  }  return days;}

这样写没有错,但我觉得很冗长,就去查查看看是否有更简洁的写法,如下:

function howManydays(month){  var days;  switch ( month ){    case 2 : return 28    case 4: case 6: case 9: case 11: return 30    default: return 31  }}

这样的写法既能得到相同的结果,也比较乾净整洁,学到一课!


其实用 if else 也可以做到上面的题目喔!虽然我们这则重点在switch上,如下:

function howManydays(month){    if(month == 2){        return 28;    }else if(month == 4 || month == 6 || month == 9 || month == 11 ){        return 30;    }else{        return 31;    }}howManydays(1);

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章