为什么我在控制台中获得undefined
以下语句?
var someDate=new Date(1337986800000);
但是在分配给变量的情况下它可以正常工作
new Date(1337986800000);
为什么会这样?
答案 0 :(得分:2)
只需输入:
var someDate=new Date(1337986800000); someDate;
这是控制台的工作方式。
当你只做new Date(1337986800000);
时,构造函数将返回在屏幕上打印的对象。
但是当您将其分配给变量时,该变量保存返回值,因此控制台无需执行任何操作,只需打印undefined
。因此,您需要显式调用变量以获得您期望的输出
答案 1 :(得分:0)
您要做的是创建一个新的Date
实例。在第一个示例中,您将实例存储在变量中;你得到未定义,因为构造函数本身并没有明确地返回任何东西。
在第二个示例中,您要求控制台评估一个表达式,该表达式调用日期构造函数,因此它只返回结果实例。