|
蓝森林 http://www.lslnet.com 2006年8月22日 18:28
??? 如何避免 这样 的问题
[code]
<script language="JScript">
var a = new Array(1,2,3);
var b = a;
b.reverse();
alert(a)
</script>
[/code]
我只希望 改变 b,
除了 给 b 一个一个 赋值
有没有简单的办法 |
如何避免 这样 的问题
你这种思路是错误的。
var a = new Array(1,2,3);
定义a 是一个数组。
var b = a;
这里并不是把b也定义成数组,为b分配空间,再把a相应的值给b。
b指向了a 。对b的reverse()操作其实操作的是a最开始分配的空间。
|
我知道这种思路是错误的。
我只是想问,
有没有办法直接赋值,除了用循环的,因为我的数组蛮大的 |
这样合不合你要求?
[html]
<script language="JScript">
var a = new Array(1,2,3);
var b = a.join('$').split('$').reverse();
alert(a)
</script>
[/html] |
[html]
<script language="JScript">
var a = new Array(1,2,3);
var b = a.slice(0,a.length);
b.reverse();
alert(b)
alert(a)
</script>
[/html] |
再来一个var b=new Array(1,2,3);可以吧。 |
thanx |
|