簡體   English   中英

當我將變量分配給另一個變量時,它不會將它們鏈接在一起嗎?

[英]When I assign a variable to another variable does it not link them together?

我試圖找到有關lodash _.clone的更多信息,我認為它在對象中復制了數據並創建了另一個對象。 但是,當我在控制台中進行測試時,我注意到了這一點:

var a = 88
undefined
var b = a
undefined
console.log(b)
88 VM1010:2
undefined
var a = 100
undefined
console.log(b)
88 

我期望看到的是b為100。有人可以幫我解釋一下。

更新:

這是我遇到的問題:

                $scope.grid.data = result;
                $scope.grid.backup = _.clone(result);

在這里,似乎當我更改數據對象內部的值時,.backup對象內部的對應值也發生了變化

這就是變量在JavaScript和大多數語言中的工作方式。 b = a賦值將變量a賦給變量b 在能夠將變量設置為對另一個變量的引用的語言中,通常使用特定的語法來進行設置。 JavaScript沒有此功能。

請注意,這可能會造成混淆,因為在對象的情況下,從ab分配的值是對該對象的引用,但這仍然不會“鏈接”變量本身,而只是將它們“指向”到同一對象。 修改任何一個變量(通過賦值)都不會影響另一個變量,但是通過兩個變量對對象進行的任何更改都將被兩個變量鏡像,因為它們再次指向同一對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM