[英]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沒有此功能。
請注意,這可能會造成混淆,因為在對象的情況下,從a
到b
分配的值是對該對象的引用,但這仍然不會“鏈接”變量本身,而只是將它們“指向”到同一對象。 修改任何一個變量(通過賦值)都不會影響另一個變量,但是通過兩個變量對對象進行的任何更改都將被兩個變量鏡像,因為它們再次指向同一對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.