2016-03-02 107 views
3

我有一種情況,當我設置過期日期對象。在改變'過期'後,'object.created'在不應該改變時改變。爲什麼'object.created'被改變?謝謝!Javascript:更改日期對象

let expire = object.created; // object.created: Wed Mar 02 2016 
expire.setDate(12); 

console.log(expire); // Wed Mar 12 2016 
console.log(object.created); //Wed Mar 12 2016 <-- WHY?! 

回答

9

將對象的引用從一個地方分配到另一個地方不涉及複製。如果您想要的日期的完整副本:

let expire = new Date(object.created); 

如果你不這樣做,有隻涉及一個日期實例; expireobject.created都指向代碼中的同一個對象。