当前位置:  开发笔记 > 编程语言 > 正文

使用switch语句在javascript中更改小时数时显示不同的消息

如何解决《使用switch语句在javascript中更改小时数时显示不同的消息》经验,为你挑选了1个好方法。

它在if/else语句中运行良好,但是一旦使用switch语句,默认消息只显示,即使我的本地时间小于24(12am).一如既往地感谢您的帮助.

  var today = new Date();
  var timeNow = today.getHours()
  var greeting = $("#greeting");

switch (timeNow) {
    case timeNow > 17 : greeting = "Good Evening 
Welcome To My Website"; break; case timeNow > 12 : greeting = "Good Afternoon
Welcome To My Website"; break; case timeNow > 6 : greeting = "Good Morning
Welcome To My Website"; break; default: greeting = "Welcome... but isn't it bed time now?"; } $('#greeting').html('

' + greeting + '

');


Welcome!



1> T.J. Crowder..:

你的switch声明是试图的值进行比较,timeNow结果timeNow > 17和这样,这将是一个布尔值(truefalse).当然,没有任何的匹配,因为没有Date实例===要么truefalse.

你原来if/else if/else可能是正确的方法.

但是,您可以switch在JavaScript中使用它(与许多其他语言不同),因为case值可以是表达式,并且它们以源代码顺序进行评估,只使用第一个匹配的值(除了default,如果使用的话,总是使用最后一个没有其他人匹配).所以如果你改变了

switch (timeNow) {

switch (true) {

...然后将true其与结果进行比较timeNow > 17:

var today = new Date();
  var timeNow = today.getHours()
  var greeting = $("#greeting");

switch (true) { // <=== Change is here
    case timeNow > 17 : greeting = "Good Evening 
Welcome To My Website"; break; case timeNow > 12 : greeting = "Good Afternoon
Welcome To My Website"; break; case timeNow > 6 : greeting = "Good Morning
Welcome To My Website"; break; default: greeting = "Welcome... but isn't it bed time now?"; } $('#greeting').html('

' + greeting + '

');


Welcome!

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有