日期:2014-05-16  浏览次数:20445 次

请高手指点_关于javascript中对象的引用问题。
javascript中我需要一个能够修改任何一个对象的功能
如:var a = null; function A(b){b = Array(1,2)}A(a);我的本意是希望a通过函数A(a)把a变成Array对象但好像不行,最后a并没有变化。希望高手给个方法。

------解决方案--------------------
function A(){
var b=Array();
return b;}
var a;
a=A();
alert(a.length);

------解决方案--------------------
拜托,Array?,先new一下,new一下才会返回数组
function A(a){
    a=new Array(1,2);
    return a;
}
这样写。
------解决方案--------------------
因为参数是传值而不是传引用,所以b实际上是a的一个副本。你要修改对象的话,直接赋值不就行了
------解决方案--------------------
这里面只是传引用,当调完函数后,b消失,而a该是什么还是什么。你可以这么实现
var a = null; 

function A(b){
    b = Array(1,2)
    return b;
}

a = A(a);