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;
}
上一篇:【0728 | 预习】第三篇 Python基础


下一篇:Android启动页欢迎界面大全 (网址)