首頁 >web前端 >js教程 >JavaScript 中的原始值和參考值有什麼不同?

JavaScript 中的原始值和參考值有什麼不同?

Barbara Streisand
Barbara Streisand原創
2024-11-09 12:21:02373瀏覽

What's the Difference Between Primitive and Reference Values in JavaScript?

JavaScript 中的原始值與引用值

在程式設計中,變數可以儲存兩種類型的值:原始值與參考值。

原始值

原始值是簡單、不可變的資料類型,例如數字、字串和布林值。它們直接儲存在變數的記憶體空間中。

引用值

引用值是對儲存在記憶體中其他位置的物件的參考。它們不會儲存物件本身,而是包含指向它的記憶體位址。

變數的儲存

在 JavaScript 中,基元儲存在變數的記憶體空間中。例如,如果將值 10 指派給名為 x 的變數:

var x = 10;

數字 10 直接儲存在 x 的記憶體中。

另一方面,物件(包括陣列、物件和函數)是從堆中分配的。當您將物件指派給變數時,變數將儲存物件的參考(記憶體位址),而不是物件本身。

var object = { a: 1, b: 2 };
var reference = object; // `reference` is now a reference to `object`

值與引用傳遞

將變數傳遞給函數時,原語是按值傳遞的(建立實際值的副本)。然而,引用值是透過引用傳遞的(傳遞引用本身)。這意味著透過引用變數對物件所做的任何更改也將反映在原始物件中。

結論

理解原始值和引用值之間的差異對於在 JavaScript 中使用變數至關重要。基元直接儲存在變數的記憶體中,而引用則包含指向儲存在記憶體中其他位置的物件的位址。基元的傳遞值可確保獨立副本,而物件的傳遞參考則允許在原始物件及其參考之間同步修改。

以上是JavaScript 中的原始值和參考值有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn