通常,当我调用new关键字时,它绝对会输出一个对象.例如:
function Time(){
this.now = new Date();
}
console.log(new Time());
//{now : 'Tue Aug 26 2014 01:52:15 GMT+0700 (SE Asia Standard Time)'}
Run Code Online (Sandbox Code Playgroud)
怎么可以new Date()是一个字符串值?
简短回答:
事实并非如此.
在您的控制台类型中:
typeof new Date()
Run Code Online (Sandbox Code Playgroud)
它正确返回的地方 "object"
但是,作为一个方法返回的对象toString()将返回...一个字符串.
var date = new Date();
console.log(typeof date)
console.log(date.toString())
object
Mon Aug 25 2014 14:58:28 GMT-0400 (Eastern Daylight Time)
Run Code Online (Sandbox Code Playgroud)
编辑:在JavaScript API的一个奇怪的转折,typeof Date()确实返回"string".请注意缺少的new关键字.