var DateObj = new Date(dateString); var Date = new Date(DateObj);
它會返回新的Date(DateObject)?
究竟是什麼日期?它仍然是這樣的日期對象嗎?
我剛剛在我正在開發的項目中看到這段代碼,所以我很好奇它實際上做了什麼。另外,我不會這樣做,但我想知道爲什麼不這樣做?
var DateObj = new Date(dateString); var Date = new Date(DateObj);
它會返回新的Date(DateObject)?
究竟是什麼日期?它仍然是這樣的日期對象嗎?
我剛剛在我正在開發的項目中看到這段代碼,所以我很好奇它實際上做了什麼。另外,我不會這樣做,但我想知道爲什麼不這樣做?
new Date(dateString);
會返回一個Date對象http://www.w3schools.com/jsref/jsref_obj_date.asp
new Date(DateObj)
返回Date對象
您的日期變量,將被設置爲Date對象實例的實例。在此範圍內,您現在可以有效地重寫Date對象。
不這樣做。
是的,我認爲這也不是很好,但是我在某個地方看到了,我只是想知道不這樣做的原因? – CodTango
究竟是什麼日期?它仍然是這樣的日期對象嗎?
這是很容易使用instanceof
操作符檢查
var DateObj = new Date();
var DateObj2 = new Date(DateObj);
console.log(DateObj2 instanceof Date); // true
那麼簡單的答案是肯定的,這將是Date
實例。
較長的答案。如果您對如何將Date對象傳入new Date
構造函數的情況感興趣,那麼您需要引用ECMAScript規範。
節15.9.3.2 new Date(value)描述的行爲:
所以算法的第一步需要將傳遞的值轉換爲原始值。對於對象類型(如Date)原始值是"default value for the Object"。最後,對於Date對象,valueOf
和toString
方法返回一個數字 - current timestamp。
使用[typeof](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof)。 – Xufox