關於 " +new Date " 的個人見解


今天晚上,在一個Javascript的Q群里,有人問下面這種代碼是什么意思:

var time = +new Date;

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

而Date實例的valueOf返回它的毫秒數,大家可以嘗試如下代碼:

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

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

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

 

再舉個例子:

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.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM