您的位置:首页 > 编程语言 > Java开发

javascirpt中的数组比较

2014-11-20 12:59 148 查看
一、首先我们定义两个空数组

var arr1=[];
var arr2=[];
function arrCompare(arr1,arr2){
if(arr1==arr2){
ret true;
}else{
return false;
}
}
alert(arrCompare(arr1,arr2));

弹出false。

那么问题出来了。

1:明明都是空数组怎么会不相等呢?

2:那怎么判断两个数组相等呢?

第一,这里创建数组是单独开辟的内存空间,两个数组开辟两个存储块。就行有两个一摸一样的iphone似得,始终是连个而不是一个。

那什么样的情况下两个数组会相等呢。

如 var a=[1];

var b=a;

<pre code_snippet_id="526183" snippet_file_name="blog_20141120_1_8068651" name="code" class="javascript">alert(arrCompare(a,b));这样就会返回ture,因为开始创建了一个数组a,为a分配了内存空间。当赋值给b时,b不会再次开辟内存空间,而会直接引用a的内存空间。所以这个两个数组是相等的。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: