我在寻找是否有替代方法可以编写更干净,更高效的代码。
我的目标是根据一天中的小时设置不同的值。

var hour = new Date().getHours();
var user = 'User4';

if (hour >= 4 && hour < 6) {
    user = 'User1';
}
if (hour >= 6 && hour < 13) {
    user = 'User2';
}
if (hour >= 13 && hour < 19) {
    user = 'User3';
}
if (hour >= 19) {
    user = 'User4';
}


我在网上找到了this article,但是我无法在其中实现逻辑运算符。

let values = {
    a: 1,
    b: 2,
};
let foo = values[ bar ] || 3;


非常感谢您的帮助!谢谢😗

最佳答案

您可以使用else if使代码更短,更清晰



var hour = new Date().getHours();
var user;

if (hour < 4 || hour >= 19) {
  user = 'User4';
} else if (hour < 6) {
  user = 'User1';
} else if (hour < 13) {
  user = 'User2';
} else if (hour < 19) {
  user = 'User3';
}

console.log(user)





使用switch(true)



var hour = new Date().getHours();
var user;

switch(true) {
  case (hour < 4 ||
        hour >= 19): user = 'User4'; break;
  case (hour < 6)  : user = 'User1'; break;
  case (hour < 13) : user = 'User2'; break;
  case (hour < 19) : user = 'User3'; break;
}

console.log(user)

07-28 09:10