關於 " +new Date " 的我的看法

今天晚上,在一個Javascript的Q羣裏,有人問下面這種代碼是什麼意思:html

var time = +new Date;

這段代碼中,比較奇怪的是有一個加號,下面說說我我的的理解:這是對後面的對象作一個+運算,觸發對象執行valueOf進行求值!spa

而Date實例的valueOf返回它的毫秒數,你們能夠嘗試以下代碼:prototype

var now = new Date, time = now.getTime();

console.log(time==now.valueOf());//true

console.log(time==+now);//true

 

再舉個例子:code

function Person(){
}

Person.prototype.valueOf=function(){
   return "hello";  
};

var foo = new Person();

console.log("a"+foo); //這裏將輸出字符串"ahello"

 

PS: 尊重他人原創,轉載請務必註明來自http://www.cnblogs.com/Raoh/p/4212075.htmlhtm

相關文章
相關標籤/搜索