为什么我得到一个ReferenceError:'x'没有被定义?
问题描述:
我在使用平均堆栈的网站上工作,我有一个帮助js函数,它工作正常,但现在给我ReferenceError错误。我知道这是不是优雅,但这个是我的函数:为什么我得到一个ReferenceError:'x'没有被定义?
module.exports.formatDatePickerDate = function(dt) {
if(dt !== undefined) {
var ys = dt[date][year];
var ms = '0' + dt[date][month].slice(-2);
var ds = '0' + dt[date][day].slice(-2);
var cs = ys + '-' + ms + '-' + ds;
console.log(cs);
return cs;
} else {
return undefined;
}
}
它被传递的对象,看起来像这样:
{ date: { year: 2017, month: 7, day: 20 }, jsdate: '2017-07-19T23:00:00.000Z', formatted: '20/07/2017', epoc: 1500505200 }
如果任何人都可以给我一些指点,我会很感激。自从上次工作以来,我唯一明白地改变了它,就是添加if语句来捕获日期字段未完成。
答
您需要使用引号才能访问对象的属性。
var ys = dt['date']['year'];
你会在哪一行发生错误?你没有一个'x'变量 – Weedoze
除了缺少'x',你的代码中还有很多未定义的变量,比如var ys = dt [date] [year]中的'date'和'year'; '。 – Teemu
可能*日期*,*年*,*月*和*日*未定义... –