js中数组、对象等按值(变量地址的值)传递,当你的x进入函数后,它的地址跟外边的地址是一样的,但是当你重新赋值时,它的地址就跟外面的断了。解决这个问题有两个方法:
1.show()不要传x进去
function show() {
x = [4,5,6];
}
2.传x进去但别重新赋值,直接操作它
function show(x) {
x[0]=4;
x[1]=5;
x[2]=6;
} 作者: 罗宵 时间: 2012-7-25 20:44
function show(x) {
11. x = [4,5,6];
12. }
你定义了一个方法,赋值x=[4,5,6];
但是并没有返回值。虽然调用了show()方法,在只是在show()方法里面有效,所以改成
function show(x) {
x = [4,5,6];
return x;
}
var x = [1,2,3];
var b=show(x);
document.write("b=="+b);//x==4,5,6
要么你就在show()方法里面写出来
function show(x) {
x = [4,5,6];
document.write("x=="+x);
}
var x = [1,2,3];
show(x);作者: 罗宵 时间: 2012-7-25 20:45
function show(x) {
11. x = [4,5,6];
12. }
你定义了一个方法,赋值x=[4,5,6];
但是并没有返回值。虽然调用了show()方法,在只是在show()方法里面有效,所以改成
function show(x) {
x = [4,5,6];
return x;
}
var x = [1,2,3];
var b=show(x);
document.write("b=="+b);//x==4,5,6
要么你就在show()方法里面写出来
function show(x) {
x = [4,5,6];
document.write("x=="+x);
}
var x = [1,2,3];
show(x);作者: 吴立杰 时间: 2012-7-25 21:20
<!-- saved from url=(0013)about:internet -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">