-
說明
-
將值傳遞給 function 或將值分配給 variable 時,值的傳遞方式。
-
在處理物件和陣列時,有助於避免意外的副作用。
-
-
By value
-
用在基本數據類型(如數字、字串、布林值等)。
-
這表示當你將一個變數賦值給另一個變數時,實際上是將原始值的一個拷貝傳遞給了新變數。因此,對新變數的修改不會影響原始變數。
-
Example
var num1 = 5; var num2 = num1; // 這裡 num2 包含了 num1 的值的拷貝 num2 = 10; console.log(num1); // 輸出 5,因為 num1 和 num2 包含不同的數值
-
-
By reference
-
用在處理物件(Object)和陣列(Array)。
-
這表示當你將一個物件或陣列賦值給另一個變數時,實際上只是將引用(指向儲存在記憶體中的同一個物件)傳遞給了新變數。不會複製該值。
-
如果你修改一個變數所引用的物件或陣列,會影響到所有引用相同物件或陣列的變數。
-
Example
var obj1 = { name: "John" }; var obj2 = obj1; // 這裡 obj2 和 obj1 指向相同的物件 obj2.name = "Alice"; console.log(obj1.name); // 輸出 "Alice",因為 obj1 和 obj2 引用相同的物件
-
1個讚