Skip to content

Latest commit

 

History

History
49 lines (38 loc) · 1.54 KB

10 值类型和引用类型.md

File metadata and controls

49 lines (38 loc) · 1.54 KB

理解值类型和引用类型

PaddyWang

在JavaScript中进行数据操作的时候可以将其划分为值类型和引用类型

值类型

值类型即按值传递的数据类型 包括:string、number、boolean、null、undefined 特点:值类型的名和值存储在同一内存空间中 在值类型进行赋值的时候,其实是将其进行了复制(副本)并赋值 当再改变原始值时不会改变其副本的值

example:

 var str1 = 'haha';
 var str2 = str1;
 console.log(str1);  // => haha
 console.log(str2);  // => haha
 str1 = 'hehe';
 console.log(str1);  // => hehe
 console.log(str2);  // => haha
引用类型

引用类型即按照引用进行传递的数据 包括:对象、数组、函数 特点:引用类型的名和值分别存储在不同的内存空间,通过引用地址(指针)进行连接 在引用类型进行赋值的时候,其实是对引用地址进行了赋值 即所有的赋值操作,就是对指向同一块内存空间的引用地址进行复制并赋值 当改变原始值时,所进行赋值的所有变量的值都会改变

exmple:

var obj1 = {
    myName : '哈哈',
    age : 22
};
var obj2 = obj1;
var obj3 = obj2;
console.log(obj1.myName);  // => 哈哈
console.log(obj2.myName);  // => 哈哈
console.log(obj3.myName);  // => 哈哈
obj2.myName = '呵呵';
console.log(obj1.myName);  // => 呵呵
console.log(obj2.myName);  // => 呵呵
console.log(obj3.myName);  // => 呵呵