javascript原始值和对象引用实例分析

一句话来说:原始值是不可变的,而对象引用是可变的。

js中的原始值(undefined、null、布尔值、数字和字符串)与对象(包括数组和函数)有着本质的区别。原始值是不可更改的,任何方法都无法更改一个原始值;对于字符串来说,字符串中所有的方法看上去返回了一个修改后的字符串,实际上返回的是一个新的字符串值:

var str="hello world"; s.toUpperCase(); s; //仍然不变

原始值的比较是值的比较:只有它们的值相等时它们才想等。

对象和原始值不同,首先它们是可变的;其次对象的比较并非值的比较;对象的比较皆为引用的比较:当且仅当它们引用同一个基本对象时,它们才想等。
若想比较2个单独的对象或数组,必须比较它们的属性或元素,如下所示:

function equ_arrays(a,b){ if(a.length != b.lenght) return false; for(var i=0;i<a.length;i++) if(a[i] !== b[i]) return false; return true; }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgjdpf.html