2017-05-25 12 views
-2
var numCorrect = 0; 
var numWrong = 0; 

function checkAnswer(numCorrect,numWrong){ 

var userAns = document.getElementById('ans').value; 

if (userAns == x) { 
numCorrect++; 
} 
else { 
numWrong++; 
console.log("wrong"); 
} 
return numCorrect, numWrong; 

} 

各回の実行後に変数を初期値にリセットするのではなく、この値を1ずつ増やすにはどうすればよいですか? 両方ともゼロに初期化されていますが、値に1を加えて0にリセットします。ここで値による参照を渡すにはどうすればいいですか

+0

'incrementFoo'を呼び出すと' foo'が初期値にリセットされません。問題のより良い説明を提供するか、問題を実際に実証する例を提供してください。そうであるように、私はそれを理解できません。 –

答えて

0

プリミティブは常に値によって渡されます。回避策は、オブジェクトにラップすることです。

var foo = { value: 0 } 
function increment(wrapper) { 
    wrapper.value++ 
} 
increment(foo) 
// foo.value here is incremented 
関連する問題