// Basic data type, number, Boolean var I = 10; var B = true; function ischange_basic (Num, bool) {num = 15; bool = false; document. write ("<br/> Inner: I =" + num + "B =" + bool);} document. write ("basic type test <br/>"); document. write ("before: I =" + I + "B =" + B); ischange_basic (I, B); document. write ("<br/> after: I =" + I + "B =" + B); // object type: function, number, object var I = [10, 20]; var B = {A: 10, B: "123", C: true}; function ischange_obj (Num, bool) {num [0] = 15; num [1] = "ABC"; bool. A = 15; bool. B = "ABC"; bool. C = false;} document. write ("<br/> object type test <br/>"); document. write ("before: I = [" + I [0] + "," + I [1] + "], B = {" + B. A + "," + B. B + "," + B. c + "}"); ischange_obj (I, B); document. write ("<br/> after: I = [" + I [0] + "," + I [1] + "], B = {" + B. A + "," + B. B + "," + B. c + "}"); // string var I = "123"; function ischange_char (STR) {STR = "ABC";} document. write (["<br/> string test <br/> before: I =", I, "<br/>"]. join (''); ischange_char (I); document. write (["after: I =", I]. join (''));
//////////////////////////////////////// //////////////////////////////////////// //// Result
Basic Type Test
Before: I = 10 B = true
Inner: I = 15 B = false
After: I = 10 B = true
Object Type Test
Before: I = [10,123], B = {, true}
After: I = [15, ABC], B = {15, ABC, false}
String Test
Before: 1 = 123
After: I = 123
Conclusion: The basic type is used to pass the value (one copy), and the string is also transmitted;
Object Type (function, array) address (reference), directly operate on variables.