JavaScript:值类型 引用类型

 JavaScript类型

(1)值类型:数值、布尔值、null、undefined。

(2)引用类型:对象、数组、函数。
 1.string

 var str="hongda";
       var str2=str;
       str2="hongdaqi";
       console.log(str);
        console.log(str2);

2.Object

String/Number这种的类的对象,它没有其他的属性(string有length,但不能修改),一般都是直接赋值的,但它本身是个object,可以添加属性来查看是否是引用类型。

var str=new String("hongda");
var str2=str;
str.name="omg";
console.dir(str);
console.dir(str2);

修改对象:

var person={name:"hongda",age:27};
var man=person;
man.name="hongdada";
console.dir(man);
console.dir(person);

重新赋值一个新的对象:

var person={name:"hongda",age:27};
var man=person;
man={name:"hongdada",age:28};
console.dir(man);
console.dir(person);

 3.Array

var arr=[0,1,2,3];
var arr2=arr;
arr[0]="hongda";
console.dir(arr);
console.log("");
console.dir(arr2);

一个小题目:

var a=[0],b=a; 
b[0]=2;
console.log(a+b); //22

a=[0], b=a, b=[1];
console.log(a+b); //01

第2个其实数组相加实际上会调用数组的toString方法,然后拼接字符串。

var arr=[0,1,2,3];
var arr2=arr;
var str=arr+arr2;
console.log(typeof str);
console.log(str);

原文地址:https://www.cnblogs.com/hongdada/p/3383659.html