2012-03-31 17 views
1

誰かが私のためにこれをクリアすることができます願っています。Js変数参照Quickie

私は2つのグローバルを持っているとしましょう: var myarray = [1,3,5,7,9]、hold;

、その後、私はこれを実行します。

function setup() 
{ 
alert (myarray[0]);//shows 1 
hold=myarray; 
alert (hold);//appears to show 'hold' containing all the values of myarray. first number shown is 1 
myarray[0]=2; 
alert (hold);//shows the values of myarray with the updated first entry. first numbe shown is 2 
} 

は、私は「ホールド」は単にmyarrayのための基準を維持するのではなく、実際のすべての値を取っていること、それを取るのですか?

答えて

4

実際、すべての値を取るのではなく、myarrayを参照しているだけです。

holdmyarrayはどちらも同じ配列への参照です。

JSの多かれ少なかれすべてがリファレンスです(var foo = "bar"でも不変の文字列への参照を作成します)。