javascriptは参照渡しではなくて参照の値渡しをしてる
また基本的なとこで引っかかってしまった。。
以下のコードは、[1,2,3]という配列を[4,5,6]に置き換えようとして書いたんだけど、これでは配列は置き換わらない。
var test_arr = [1,2,3]; test_func(test_arr); console.log(test_arr); //与えられた配列を置き換える関数(のつもり) function test_func(arr){ var ret_arr = [4,5,6]; arr = ret_arr; };
なぜかというと「test_func」の引数に与えられた配列は、「参照渡し」ではなくて「参照の値渡し」だから。
「test_func」の中で、arrの参照先の値をいろいろ操作することは可能だけども、arrの参照先そのものを変えることはできないっぽい。