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)