在我的代码中,我有以下简单的功能:
function selectedWeekDay() {
return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][day];
}
哪天'哪天'是别处定义的整数。 这显然有效,但实际上我还没有看到在我见过的任何其他代码示例中完成此类事情;创建一个数组文字只是为了从有序的数据排列中进行选择。
我的问题是,这是一个好习惯吗?或者使用switch语句会更好吗?
答案 0 :(得分:3)
因此,这非常好,因为你的阵列非常小。 但是对于更大的阵列,它可能会花费您的内存和/或CPU时间(取决于您的抖动和垃圾收集器的智能)。
switch语句绝对是个坏主意(对于较大的集合,它不会扩展)。
我会做一个简单的闭包来改善你的初始代码,同时保持数组的私有性
var selectedWeekDay = (function() {
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
return function(day) {
// do some bound checking
return days[day];
};
}());