尾随逗号问题,javascript

我正在努力让我的jQuery在IE7中工作,当我发现以下内容时:

$(".regflow").validate({ errorLabelContainer: $("#error-message"), rules: { txtTextOnly: {required: true,textOnly: true}, txtNumbersOnly: {required: true,numbersOnly: true}, txtPhoneOnly: {required: true,phoneOnly: true}, txtAreaCodeOnly: {required: true,numbersOnly: true}, txtSimCodeOnly: {required: true,simCodeOnly: true}, txtCprOnly1: {required: true,numbersOnly: true}, txtCprOnly2: {required: true,cprOnly1: true}, txtMailOnly: {required: true,mailOnly: true} }, messages: { txtTextOnly: {required: "Dette felt skal udfyldes"}, txtNumbersOnly: {required: "Dette felt skal udfyldes"}, txtPhoneOnly: {required: "Dette felt skal udfyldes"}, txtAreaCodeOnly: {required: "Dette felt skal udfyldes"}, txtSimCodeOnly: {required: "Dette felt skal udfyldes"}, txtCprOnly1: {required: "Dette felt skal udfyldes"}, txtCprOnly2: {required: "Dette felt skal udfyldes"}, txtMailOnly: {required: "Dette felt skal udfyldes"} }, }); 

…我从Lint得到这个错误: “警告:尾随逗号在ECMA-262对象初始值设定项中不合法”

有谁知道这意味着什么,我该如何解决?

删除尾随逗号 – 以下部分末尾的逗号:

  messages: { txtTextOnly: {required: "Dette felt skal udfyldes"}, txtNumbersOnly: {required: "Dette felt skal udfyldes"}, txtPhoneOnly: {required: "Dette felt skal udfyldes"}, txtAreaCodeOnly: {required: "Dette felt skal udfyldes"}, txtSimCodeOnly: {required: "Dette felt skal udfyldes"}, txtCprOnly1: {required: "Dette felt skal udfyldes"}, txtCprOnly2: {required: "Dette felt skal udfyldes"}, txtMailOnly: {required: "Dette felt skal udfyldes"} }, 

在创建对象{}或数组[] ,可以使用逗号分隔各个元素。 但是在[a, b, c,]等最后一项之后还有一个额外的逗号 – 根据ECMA-262不允许这样做。

底部附近的额外逗号:

 $(".regflow").validate({ errorLabelContainer: $("#error-message"), rules: { txtTextOnly: {required: true,textOnly: true}, txtNumbersOnly: {required: true,numbersOnly: true}, txtPhoneOnly: {required: true,phoneOnly: true}, txtAreaCodeOnly: {required: true,numbersOnly: true}, txtSimCodeOnly: {required: true,simCodeOnly: true}, txtCprOnly1: {required: true,numbersOnly: true}, txtCprOnly2: {required: true,cprOnly1: true}, txtMailOnly: {required: true,mailOnly: true} }, messages: { txtTextOnly: {required: "Dette felt skal udfyldes"}, txtNumbersOnly: {required: "Dette felt skal udfyldes"}, txtPhoneOnly: {required: "Dette felt skal udfyldes"}, txtAreaCodeOnly: {required: "Dette felt skal udfyldes"}, txtSimCodeOnly: {required: "Dette felt skal udfyldes"}, txtCprOnly1: {required: "Dette felt skal udfyldes"}, txtCprOnly2: {required: "Dette felt skal udfyldes"}, txtMailOnly: {required: "Dette felt skal udfyldes"} }, //<--- this one!!!! }); 

是不是在谈论:

  }, // This comma here? }); 

在倒数第二行?

从最后一行删除最后一个逗号:

 $(".regflow").validate({ errorLabelContainer: $("#error-message"), rules: { txtTextOnly: {required: true,textOnly: true}, txtNumbersOnly: {required: true,numbersOnly: true}, txtPhoneOnly: {required: true,phoneOnly: true}, txtAreaCodeOnly: {required: true,numbersOnly: true}, txtSimCodeOnly: {required: true,simCodeOnly: true}, txtCprOnly1: {required: true,numbersOnly: true}, txtCprOnly2: {required: true,cprOnly1: true}, txtMailOnly: {required: true,mailOnly: true} }, messages: { txtTextOnly: {required: "Dette felt skal udfyldes"}, txtNumbersOnly: {required: "Dette felt skal udfyldes"}, txtPhoneOnly: {required: "Dette felt skal udfyldes"}, txtAreaCodeOnly: {required: "Dette felt skal udfyldes"}, txtSimCodeOnly: {required: "Dette felt skal udfyldes"}, txtCprOnly1: {required: "Dette felt skal udfyldes"}, txtCprOnly2: {required: "Dette felt skal udfyldes"}, txtMailOnly: {required: "Dette felt skal udfyldes"} } }); 

我知道这是在不久前问的,但这可能会有所帮助。 如果您通过JSLint运行JavaScript,它将告诉您是否有任何这些“额外的逗号”。