值类型与引用类型的区别
值类型:Number,Sting之类的
引用类型:函数、对象、数组
区别:
1. 值类型赋值之后是两个相互独立的内存块,互相不影响。即把b赋值给a之后,a和b就存在与不同的内存块中。修改其中任何一个值都不会影响另外一个。
var a=100; var b=a; a=200; console.log(b); //100
2. 引用类型赋值以后是相当于一个指针,指向同一个内存块。引用类型利用对象的无限扩展性能,当属性增加的时候,出现内存过大的情况,如果再赋值给另外一个内存块,势必会造成内存浪费,所以为了让内存中公用空间,让他们指向同一个对象。这是合理的。
var a={age:20}; var b=a; b.age=21; console.log(a.age);//21
浙公网安备 33010602011771号