2017-05-25 32 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