蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 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




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com