在JS中创建月份常量

时间:2014-12-07 01:49:29

标签: javascript

我需要创建一个包含字符串'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'的常量

到目前为止,我的代码正处于警报阶段;

<html>
<head>
<script>
MONTHS = 'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'; //months

var dateString = prompt('Enter your birth date in the form dd mmm yyyy','26 APR 1988'); //get        users date of birth
var substrings = dateString.split('');
var day = substrings[0];
var month = substrings[1];
var year = substrings[2];

var pos = months.indexOf(month);
if (pos >= 0) {

}

alert(months.indexOf(month));
</script>
</head>
<body>

</body>
<html>

我更换时工作正常     'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC' 用;     var months = [“JAN”,“FEB”,“MAR”,“APR”,“MAY”,“JUN”,“JUL”,“AUG”,“SEP”,“OCT”,
    “NOV”,“DEC”]; 那么在创建常量时我做错了吗?

2 个答案:

答案 0 :(得分:1)

您的第一个MONTHS var是一个字符串,因此当您使用string.indexOf时,您将获得所搜索内容的位置与所有字符串内容的比较。举个例子:

var str = "JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC";
console.log(str.indexOf("JUN")) ;      //   gives 15 !!

第二个months var是一个数组,这一次:

console.log(months.indexOf("JUN")) ;      //   gives 5, good value because arrays starts always with index 0, you have to do 5 + 1 or add an empty cell at the first of your months array

我希望你现在能更清楚。

答案 1 :(得分:0)

你定义了&#34; MONTHS&#34;然后尝试使用&#34;月&#34;稍后在您的代码中。 JavaScript区分大小写。

你的分割应该在空白处指定一个中断:

var substrings = dateString.split(' ');