Javascript 在JS中创建月份常量

Javascript 在JS中创建月份常量,javascript,Javascript,我需要创建一个包含字符串“JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC”的常量 到目前为止,我的代码正在进入警戒阶段 <html> <head> <script> MONTHS = 'JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC'; //months var dateString = prompt('Enter your birth date in the form dd mmm yyyy','26 A

我需要创建一个包含字符串“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) {

月数='1月4日、5月6日、7月8日、9月11日'//月
var dateString=prompt('1988年4月26日'以dd-mmm-yyyy'的形式输入您的出生日期)//获取用户的出生日期
var substring=dateString.split(“”);
var day=子字符串[0];
var月=子字符串[1];
var年=子字符串[2];
var pos=月数。指数(月);
如果(位置>=0){
}

alert(月数)indexOf(月数);
当我更换新机器时,它工作得很好 “一月至六月至七月至十月至十二月” 具有 风险值月份=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”,
“11月”、“12月”];
那么,我在创建常量时是否做错了什么?

您的第一个
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
我希望您现在能更清楚地了解这一点。

您定义了“月”,然后在以后的代码中尝试使用“月”。JavaScript区分大小写

您的拆分应该在空白处指定一个中断:

var substrings = dateString.split(' ');

你为什么要这么奇怪?在JS中有可用的数组。顺便说一句,您还没有解释基于字符串的实现有什么问题。“到目前为止,我的代码正在工作到警报阶段”——它可以工作。所以然后呢?你怎么知道它真的做了你认为它应该做的事情呢?最好先弄清楚到底发生了什么。提醒的数字是否相关?我想这就是要求我这样做的方式(使用常量):创建并适当命名常量以存储以下值:一个包含月份缩写“JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC”的字符串
var substrings = dateString.split(' ');