如何使用Javascript if函数返回月份名称

如何使用Javascript if函数返回月份名称,javascript,if-statement,Javascript,If Statement,我是JS的新手,有一个简单的问题,如何让下面的代码返回月份名称,在这个例子中是十二月 多谢各位 window.onload = function() { var monthName = getMonth(12); document.getElementById("months").innerHTML = getMonth(month); }; function getMonth(month) { var monthName; if (month === 1

我是JS的新手,有一个简单的问题,如何让下面的代码返回月份名称,在这个例子中是十二月

多谢各位

window.onload = function() {
    var monthName = getMonth(12);   
    document.getElementById("months").innerHTML = getMonth(month);
};

function getMonth(month) {
    var monthName;
    if (month === 12) {
}
    return monthName;
}
有几件事:

  • 您从未将
    monthName
    变量设置为
    getMonth
    函数中的任何值
  • 您在
    onload
    中的逻辑有点混乱
  • 您需要
    div
    的ID为“月”,而不是类
下面是基于JSFIDLE的代码的工作版本:

尽管如此,Ellochka食人族有一种更好的方法。但你就这样做了。

有几件事:

function getMonth(monthNumber) {
    var monthNames = [ "January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December" ];

    return monthNames[monthNumber-1];
}
  • 您从未将
    monthName
    变量设置为
    getMonth
    函数中的任何值
  • 您在
    onload
    中的逻辑有点混乱
  • 您需要
    div
    的ID为“月”,而不是类
下面是基于JSFIDLE的代码的工作版本:


尽管如此,Ellochka食人族有一种更好的方法。但是你可以这样做。

你应该定义一个月数组,然后用它作为月号和月名之间的映射

function getMonth(monthNumber) {
    var monthNames = [ "January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December" ];

    return monthNames[monthNumber-1];
}
var months = new Array( "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
window.onload = function() {
     var monthName = getMonth(12);  

$(".months").html(monthName)   ;
};

function getMonth(monthNo) {

return months[monthNo-1];  //the array start with 0 and month no. start with 1
}

他是一个正在运行的

您应该定义一个月数组,然后将其用作月号和名称之间的映射

var months = new Array( "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
window.onload = function() {
     var monthName = getMonth(12);  

$(".months").html(monthName)   ;
};

function getMonth(monthNo) {

return months[monthNo-1];  //the array start with 0 and month no. start with 1
}

他是一名跑步者

我会将姓名存储在地图中,以便快速查找,您可以轻松扩展它:

var getMonth = function (num) {
    var m = {
        0: 'Jan', 1: 'Feb', 2: 'Mar',
        3: 'Apr', 4: 'May', 5: 'Jun',
        6: 'Jul', 7: 'Aug', 8: 'Sep',
        9: 'Oct', 10: 'Nov', 11: 'Dec'
    }
    return m[num];
}

顺便说一下,这是您更正的JSFIDLE:。您不能将getElementById与类一起使用。

我会将名称存储在映射中以便快速查找,您可以轻松扩展它:

var getMonth = function (num) {
    var m = {
        0: 'Jan', 1: 'Feb', 2: 'Mar',
        3: 'Apr', 4: 'May', 5: 'Jun',
        6: 'Jul', 7: 'Aug', 8: 'Sep',
        9: 'Oct', 10: 'Nov', 11: 'Dec'
    }
    return m[num];
}

顺便说一下,这是您更正的JSFIDLE:。您不能在类中使用getElementById。

这里有很多答案,为什么不试试go:D呢

每次调用函数时,以下命令应停止重新创建
months
数组,并将其(months数组)保留在全局名称空间之外

var monthName = (function() { 
  var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
  return function(month) { 
    return months[month-1]; 
  }
})();

这里有很多答案,为什么不试试呢

每次调用函数时,以下命令应停止重新创建
months
数组,并将其(months数组)保留在全局名称空间之外

var monthName = (function() { 
  var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
  return function(month) { 
    return months[month-1]; 
  }
})();

那是不是:
monthName=monthNames[12]
-快来吧@RobG使用
--var
是否有任何速度(或其他)好处?我以前也用过它们,但后来停了下来,因为它们最终让我感到困惑:D不是速度是一个因素,它只是稍微整洁一点,并利用了一种语言功能。您还可以执行以下操作:
return['一月',…'十二月][--monthNumber]
或省略第一个值,不减少月数:
返回[,'一月',…'十二月'][monthNumber],但是使用对你最有用的东西。那不是:
monthName=monthNames[12]
-打败我@RobG使用
--var
是否有任何速度(或其他)好处?我以前也用过它们,但后来停了下来,因为它们最终让我感到困惑:D不是速度是一个因素,它只是稍微整洁一点,并利用了一种语言功能。您还可以执行以下操作:
return['一月',…'十二月][--monthNumber]
或省略第一个值,不减少月数:
返回[,'一月',…'十二月'][monthNumber]
,但使用最适合您的工具。如果
,您为什么需要使用
?即使您不知道数组,您也应该使用
开关
。如果
,为什么需要使用
?即使您不了解数组,也应该使用
开关
。如果元素具有
,则可以使用
getElementById
,前提是它还具有
id
。(我相信你知道这一点,这就是你的措辞!)是的,措辞很有趣。已修复。如果元素具有
,则可以使用
getElementById
,前提是它也具有
id
。(我相信你知道这一点,这就是你的措辞!)是的,措辞很有趣。固定的。