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

内容摘要
本文实例讲述了javascript原始值和对象引用的方法。分享给大家供大家参考。具体分析如下:
一句话来说:原始值是不可变的,而对象引用是可变的。
js中的原始值(undefined、null、
文章正文

本文实例讲述了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;
}

希望本文所述对大家的javascript程序设计有所帮助。


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!