2012-03-24 32 views
1

JavaScriptにはかなり新しく、変数や関数のいくつかのプロパティに問題があります。JavaScript内の別の関数の変数を変更する

私は何か起こりたいのは、一つの関数でvarを定義し、別の値で値を変更してから、元々定義されていた関数に新しい値を返します。

function getIt(){ 
    var x=3; 
    doubleIt(x); 
    alert("the new value is: " + x); 
} 

function doubleIt(num){ 
num *=2; 
return num; 
} 

これが実行されるとアラートがまだxの元の値が表示されます。ここでは

は私が作った簡単なサンプルです。元の関数の値を変更する必要はありますか?あなたが本当に参照渡ししたい場合は、あなたが実行するオブジェクトコンテナを必要とするhttp://jsfiddle.net/ES65W/


答えて

5

最も簡単な方法は、バック変数

x = doubleIt(x); 

デモに結果を割り当てることであろう値。オブジェクトは、JavaScriptで参照によって渡されます

function getIt(){ 
    var myObj={value:3}; 
    doubleIt(myObj); 
    alert("the new value is: " + myObj.value); 
} 

function doubleIt(num){ 
    num.value *=2; 
    //return num; 
} 

デモ:http://jsfiddle.net/dwJaT/

+1

+1。詳細については、Googleの「合格金額」を参照してください。 – ruakh

+0

私は拳がより "正常"だと思います。 –

関連する問題