我需要创建一个包含字符串'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”];
那么在创建常量时我做错了吗?
答案 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(' ');