为什么我在控制台中使用以下代码获得未定义的错误:
var fromDateData;
if(!util.isEmpty(formItem.fromDate)){
fromDateData = util.tmpl('{year}-{month}-{day}',{
day: ("0" + formItem.fromDate.getDate()).slice(-2),
month: ("0" + (formItem.fromDate.getMonth() + 1)).slice(-2),
year: formItem.fromDate.getFullYear( )
});
}
console.log("customData", fromDateData);
但如果我删除if statement
,那么它将起作用:
var fromDateData;
fromDateData = util.tmpl('{year}-{month}-{day}',{
day: ("0" + formItem.fromDate.getDate()).slice(-2),
month: ("0" + (formItem.fromDate.getMonth() + 1)).slice(-2),
year: formItem.fromDate.getFullYear( )
});
console.log("customData", fromDateData);
我需要使用if statement
。我错过了什么,因为我已经将fromDateData
声明为全局变量。那么它应该在声明之外工作吗?请提前帮助和谢谢。
答案 0 :(得分:1)
您收到此错误,因为当您尝试访问它时,(formItem.fromDate)的值未定义。您需要在if条件中再添加一个检查,如下所示,并确保fromDate有一些要验证的值。希望这能解决问题。
var fromDateData;
if( formItem.fromDate != 'undefined' && !util.isEmpty(formItem.fromDate)){
fromDateData = util.tmpl('{year}-{month}-{day}',{
day: ("0" + formItem.fromDate.getDate()).slice(-2),
month: ("0" + (formItem.fromDate.getMonth() + 1)).slice(-2),
year: formItem.fromDate.getFullYear( )
});
}
console.log("customData", fromDateData);