JavaScript: Pass by Reference or Value
Does JavaScript pass by references or pass by values?
JavaScript employs a hybrid approach, passing primitives by value and objects (including arrays) by "copy of a reference."
Understanding Value-Passing
Primitive data types (e.g., strings, numbers, booleans) are duplicated and passed as independent values. Changing the value of a passed primitive in a function does not affect the original variable.
Understanding Reference-Passing
Objects reference memory addresses, and when passed, they refer to the same object as the caller. Changes made to the object's contents in a function will be reflected in the original object. However, assigning a new reference (e.g., ref = {}) will only modify the local copy of the reference, not the original.
Example Usage
In the provided code snippet:
The above is the detailed content of Does JavaScript Pass by Value or by Reference?. For more information, please follow other related articles on the PHP Chinese website!