javascript 对象初探 --- 传递/比较对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 对象初探 --- 传递/比较对象相关的知识,希望对你有一定的参考价值。
传递对象
当我们拷贝某个对象或者将对象传递给某个函数时,往往传递的都是该对象的引用。因此我们在该对象的引用上做任何改动,实际上都会影响到引用的原对象。
var she = {num:1}; var her = she; her.num; // 1 her.num = 100; she.num; // 100
同样的将对象传递给函数也是一样的:
var she = {num:1}; var her = function(o){o.num=100}; her(she); she.num = 100;
比较对象
当我们进行对象的比较时,当且仅当两个引用指向同一个对象时,结果为true。而如果是不同的对象,但恰好有相同的属性,与方法,比较也会返回false。
var a = {num:1}; var b = {num:1}; a == b // false a === b // false
我们可以新建一个对象,并将其中一个对象赋值给她,这样一来这个变量就指向了这个对象
var c = a; c == a; // true
在这种情况下,c与a所指向的对象是相同的(也就是说该其中一个另一个也跟着变化);
但b与c还是不同的对象:
b == c; // false
以上是关于javascript 对象初探 --- 传递/比较对象的主要内容,如果未能解决你的问题,请参考以下文章