javascript错误:缺少;声明前
我的javascript出现错误:“missing;before语句” 我试图读入一个日期,如果它符合某个标准(本例中为joiner类型),则在该日期上加上6个月,如果不只是返回该日期 我看不出这里出了什么问题,一定是小问题,有什么想法吗 谢谢javascript错误:缺少;声明前,javascript,Javascript,我的javascript出现错误:“missing;before语句” 我试图读入一个日期,如果它符合某个标准(本例中为joiner类型),则在该日期上加上6个月,如果不只是返回该日期 我看不出这里出了什么问题,一定是小问题,有什么想法吗 谢谢 function checkenddate(Par) { var array = Par.split("!!"); var usermskey = array[0]; var date = array[1]; var joine
function checkenddate(Par) {
var array = Par.split("!!");
var usermskey = array[0];
var date = array[1];
var joinertype = array[2];
saprep = UserFunc.uGetConstant("glb.REPOSITORY_ECC");
attr1 = "Z_VALIDTO" + saprep;
uWarning("Attribute: " + attr1);
if (date == null && joinertype.equals("Contractor"))
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calender c = Calender.getInstance();
c.setTime(sdf.parse(date));
c.add(Calender.MONTH, 6);
enddate = sdf.format(c.getTime());
uWarning("End Date:" + enddate);
OutString = uIS_SetValue(usermskey, 0, attr1, enddate);
return enddate;
} else {
OutString = uIS_SetValue(usermskey, 0, attr1, date);
return date;
}
}
这不是有效的javascript。不能有类型化变量,例如
simpleDataFormat sdf=new blah()
。将您的类型更改为var
,它将按预期工作
var sdf = new SimpleDateFormat("yyyy-MM-dd");
var c = Calender.getInstance();
这不是您声明JS变量的方式:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
您需要这样做:
var sdf = new SimpleDateFormat("yyyy-MM-dd");
我建议您使用一个在线linting工具(例如JSHint或JSLint)来帮助跟踪这些问题-非常方便。哪一行抛出了这个错误?您似乎混淆了Java和JavaScript——另请参见
Calender c=Calendar.getInstance()代码>以及下面的答案。我没有得到一行抛出错误,只是错误:失踪;在声明之前。。。。。。。。。。。。。安迪,我申报日历的方式有问题吗??感谢还有更多的变量需要修改:saprep、attr1和enddate,除非它们是在函数外定义的。我尝试在此函数中声明变量,将SimpleDataFormat类型更改为“var”,但没有成功。。。无法运行字符串“$function.checkenddate(285342!!2015-04-29!!承包商)$$”中的函数。将条目标记为失败。异常是:org.mozilla.javascript.NotAFunctionException:glanbia_checkenddate(285342!!2015-04-29!!承包商)也更改了日历类型,但出现了新错误…………执行checkenddate(285343!!2015-04-28!!承包商)时出现运行时异常-未定义:“SimpleDataFormat”未定义。提示:检查脚本glanbia_checkenddate中的第18行看起来我需要更改SimpleDataFormat的delcaring??看起来我只需要导入java类……工作起来很有魅力!谢谢你,这答案有一半是正确的!测试你的代码并给出答案!我试过了,但是运气不好!不幸的是,仍然显示相同的错误消息