30秒到達(dá)戰(zhàn)場(chǎng)
2022-06-16 10:22:37
我有一個(gè)日期變量,我想以此為基礎(chǔ)使用它:var Uhrzeit = new Date();現(xiàn)在我想將此基礎(chǔ)復(fù)制到一個(gè)新變量中以使用它,為此,我剛剛創(chuàng)建了一個(gè)新變量并分配了第一個(gè)變量的值。var u = Uhrzeit我有這個(gè)小代碼片段:var Uhrzeit = new Date();Uhrzeit.setMinutes(0);Uhrzeit.setSeconds(0);console.log("Uhrzeit: " + Uhrzeit);Uhrzeit.setSeconds(61);console.log("Uhrzeit: " + Uhrzeit)var u = Uhrzeit;console.log("u: " + u);u.setSeconds(200);console.log("u: " + u);console.log("Uhrzeit: " + Uhrzeit)它生成以下輸出:Uhrzeit: Sun Apr 05 2020 15:00:00 GMT+0200 (Mitteleurop?ische Sommerzeit)Uhrzeit: Sun Apr 05 2020 15:01:01 GMT+0200 (Mitteleurop?ische Sommerzeit)u: Sun Apr 05 2020 15:01:01 GMT+0200 (Mitteleurop?ische Sommerzeit)'u: Sun Apr 05 2020 15:04:20 GMT+0200 (Mitteleurop?ische Sommerzeit)Uhrzeit: Sun Apr 05 2020 15:04:20 GMT+0200 (Mitteleurop?ische Sommerzeit)現(xiàn)在有以下問(wèn)題: u 最后的值是 4 Min 和 20Sec。Uhrzeit 具有相同的值,盡管它應(yīng)該具有 1Min 和 1Sec 的值。當(dāng)我更改 u 的值時(shí),為什么 Uhrzeit 的值與 u 相同?我希望這不是重復(fù)的,我只找到了其他語(yǔ)言的關(guān)于這個(gè)問(wèn)題的帖子。
1 回答

慕標(biāo)琳琳
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
請(qǐng)注意:
var Uhrzeit = new Date();
創(chuàng)建一個(gè)新的日期實(shí)例,它是一個(gè)對(duì)象。
在您分配的那一刻var u = Uhrzeit
,javascript 中的 this 意味著 u 指的是所指的同一個(gè)日期對(duì)象Uhrzeit
。
因此,對(duì)象的變量將引用保存在存儲(chǔ)對(duì)象的內(nèi)存中。通過(guò)分配一個(gè)引用對(duì)象的變量,只需將該引用傳遞給新變量。
當(dāng)您更改其中一個(gè)u
或Uhrzeit
它們都引用同一個(gè)對(duì)象時(shí),它們都更改了同一個(gè)對(duì)象。
你必須這樣做:
var u = new Date(Uhrzeit);
這將創(chuàng)建u
的值Uhrzeit
。但是它們現(xiàn)在都將引用內(nèi)存中的不同對(duì)象。
添加回答
舉報(bào)
0/150
提交
取消