我有這樣的代碼:JavaScript函數作爲參數未生效
var point = 2;
var change = function(){point = 5};
function makeChange(point,change){
change();
alert(point);
}
makeChange(point,change);
的想法是讓用戶在功能使用前通過一個條件的point
價值的能力。 但它不生效。 當我添加alert(point)
到change
功能它提醒5,但隨後警報2在makeChange
功能。
不能更改傳遞給函數的變量,並具有影響的「原始」變量 – vlaz
可能重複的[不使用Javascript按引用傳遞?(http://stackoverflow.com/questions/13104494/does-javascript-pass-by-reference) – vlaz
注意局部參數'point'和全局變量'point'兩個不同的變量。你正在警告'makeChange'內的本地'point'。基本上只需將您的第一個參數的名稱改爲「point」以外的名稱即可。 –