> 2014/06/12 (木) 12:59:18 ◆ ▼ ◇ [qwerty]> > var a = [1,5];
> > function test( b ){
> > b[1] = 3;
> > }
> > test(a); // [3, 5]
> > だけど
> > var a = [1,5];
> > function test(b){
> > b = [1,2,3,4,5];
> > a = b;
> > }
> > test(a); // [1,5]
> > はこうなるんだっけか(;´Д`)a+=bしても値は変わらなかった気がする
> へー(;´Д`)
> 意味不明だな
> Rubyで同じことやると[1,2,3,4,5]が戻るわ
変な例になった(;´Д`)こうだ
var results = [1,2,3,4,5];
function test1(arr){
var newArr = [5,4,3,2,1];
arr = newArr;
}
function test2(arr){
var newArr = [5,4,3,2,1];
arr.length = 0;
[].push.apply(arr, newArr);
}
test1(results);
console.log(results); // [1,2,3,4,5]が表示
test2(results);
console.log(results); // [5,4,3,2,1]が表示
参考:2014/06/12(木)12時50分08秒