我在 JSlint 和 JSFiddle 中遇到错误,但脚本运行良好。
我想修复错误,但我真的不知道该怎么做。
我得到的错误是:'allmonth is already defined'
javascript(它只是完整脚本的一部分,但这是有错误的部分)
$.each(data.product.variants, function (index, variant) {
var oldvartitle2 = variant.title,
oldvartitle = oldvartitle2.substring(oldvartitle2.indexOf(":") + 1),
newvartitle = oldvartitle.substr(3),
splitted = newvartitle.split(' '),
month2 = splitted[1];
if (month2 === 'januari') {
var allmonth = '01';
}
if (month2 === 'februari') {
var allmonth = '02';
}
if (month2 === 'maart') {
var allmonth = '03';
}
if (month2 === 'april') {
var allmonth = '04';
}
if (month2 === 'mei') {
var allmonth = '05';
}
if (month2 === 'juni') {
var allmonth = '06';
}
if (month2 === 'juli') {
var allmonth = '07';
}
if (month2 === 'augustus') {
var allmonth = '08';
}
if (month2 === 'september') {
var allmonth = '09';
}
if (month2 === 'oktober') {
var allmonth = '10';
}
if (month2 === 'november') {
var allmonth = '11';
}
if (month2 === 'december') {
var allmonth = '12';
}
var allmonths = splitted[0] + '/' + allmonth + '/' + splitted[2];
$('.multiple_' + index2 + '_variants .datacursusul_' + index2 + '_ul').append('<li class="' + allmonths + '">' + oldvartitle + '</li>');
});
我想根据 month2 变量包含的内容将“allmonth”变量更改为一个数字。
谢谢!
最佳答案
您必须在代码块的开头声明所有内存都符合 jslint 标准。所以 var allmonth;
应该在一开始就是 var 的一部分。像这样
var oldvartitle2 = variant.title,
oldvartitle = oldvartitle2.substring(oldvartitle2.indexOf(":") + 1),
newvartitle = oldvartitle.substr(3),
splitted = newvartitle.split(' '),
month2 = splitted[1],
allmonth;
您还必须从其他 allmonth
变量中删除 var。
与 allmonths
类似。
关于javascript - 获取错误(已在 if 语句中定义变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23522602/