20140124【JS】関数に値渡しと参照渡しをする
お題
関数に値渡しと参照渡しをする
プログラム概要
関数に値渡しと参照渡しを行う。関数呼び出し前後で
変数の値を表示する
ソース
// 引数の値を変更する関数
function sample(b, n, s, o) {
b = false;
n = 100;
s = '上書き';
o.a = '変更';
o.b = 100;
}
// 初期値を設定
var b1 = true;
var n1 = -1;
var s1 = '初期値';
var o1 = {a:'未変更',b:-1};
document.write('関数呼び出し前---------------
');
document.write('b:' + b1 + ' n:' + n1 + ' s:' + s1 +
' o:(' + o1.a + ',' + o1.b + ')
');
// 関数を呼び出し
sample(b1, n1, s1, o1);
document.write('関数呼び出し後---------------
');
document.write('b:' + b1 + ' n:' + n1 + ' s:' + s1 +
' o:(' + o1.a + ',' + o1.b + ')
');
実行結果
関数呼び出し前--------------- b:true n:-1 s:初期値 o:(未変更,-1) 関数呼び出し後--------------- b:true n:-1 s:初期値 o:(変更,100)