传值和传址

首先看下面的代码:
Code

上面得到的结果是什么呢?输出:c,b,a,为什么不是a,b,c呢?

第一句定义了一个myArray的数组,第二句把myArray的数组取反,并把地址传给myArray2,注意,这里是传递的是地址,不是传,考虑一下这些问题:

1.这样传址后,myArray还存在吗?

2.改变myArray2是否就会改变myArray?

3.myArray是否与myArray2全等(值相等,是同一类型)?

 

<script type="text/javaScript">
var myArray:Array=new Array("a","b","c")
var myArray2=myArray.reverse();
myArray2.push(
"d");
for (var i in myArray2){
    document.write(myArray[i]);
    
}
//结果d,c,b,a
document.wirte(myArray===myArray2);//true
</script>

上面的答案都是肯定的.关于传址,传址就像以前在网上看到的一样,如同网友所说,好比一快捷键,设置两个快捷键启动同一程序,得到的结果是一样的.上面的代码我是在flash中的as3中常演示通过的.

 

posted @ 2008-11-25 10:08  爱恋永恒  阅读(275)  评论(0编辑  收藏  举报