In JS, values, Boolean values, null, and undefined belong to the basic type, while objects, arrays, and functions belong to the reference type.
Two problems to be solved in this blog post are:
- After a references B, the relationship between A and B is: =, =, or other.
- After a references B and B is redirected, A retains the original reference or follows B's new direction.
/*** Filename: appointtest. js * Description: This file is used to find out how a appiont work. * Author: Empty hunting deCode* Date: 2012/3/8 */Ext. onready (function () {/*** function for print */var print = console. log; var printall = function (ARR, OBJ) {print ("arr [0] =" + Ext. encode (ARR [0]); print ("OBJ =" + Ext. encode (OBJ); print (ARR [0] = OBJ); print (ARR [0] = OBJ );} /*** Test Data */var OBJ = {Name: 'EMPTY hunting de Code'} var arr = [OBJ]; obj. age = 23; // will this new property be added to Arr? Printall (ARR, OBJ); // redirect OBJ to another object. OBJ = {holobby: 'thinking'} printall (ARR, OBJ); // After redirecting OBJ, does arr [0] Change ?});
Running result diagram:
As you can see,The newly added age attribute also affects arr;
HoweverAfter OBJ redirection, arr does not change with OBJ, but points to the original reference.