表驱动法
表驱动法就是一种编程模式(scheme)——从表里面查找信息而不使用逻辑语句(if
和case)。事实上,凡是能通过逻辑语句来选择的事物,都可以通过查表来选择。对简单的情况而言,使用逻辑语句更为容易和直白。但随着逻辑链的越来越复杂,查表法也就愈发显得更具吸引力。
直接访问
一个很简单的例子: 今天星期几
const day = new Date().getDay()
let day_zh;
if(day === 0){
day_zh = '星期日'
}else if(day === 1) {
day_zh = '星期一'
}
...
else{
day_zh = '星期六'
}
// 或者 用 switch case
switch(day) {
case 0:
day_zh = '星期日'
break;
case 1:
day_zh = '星期一'
break;
...
}
实现同样功能的一种更简单、更容易修改的方法是把这些数据存到一张表里面。
const week = ['星期日', '星期一',..., '星期六']
const day = new Date().getDay(
const day_zh = week[day]
第二个例子:假设你需要一个可以返回每个月中天数的函数(