如何在此处按值传递引用

时间:2017-05-25 17:11:45

标签: javascript

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;

}

如何在此处使用pass by值将此数字递增1而不是在每次运行后将变量自身重置为其初始值? 我将两者初始化为零,但它将任一值加1并重置为0

1 个答案:

答案 0 :(得分:0)

基元总是按值传递。解决方法是将其包装在对象中。

var foo =  { value: 0 }
function increment(wrapper) {
  wrapper.value++
}
increment(foo)
// foo.value here is incremented