Chr*_*oph 4 javascript variables foreach scope ecmascript-6
嗨,我想传递antwoord给
opleidingArray.forEach(haalScoresOp,antwoord);
所以我可以在
HaalScoresOp
功能。我无法使它正常工作。我也尝试了绑定,但这不起作用。
我得到antwoord没有定义为错误。
var antwoordenPerVraag = [2,1,3];
console.log(VragenEnScores.vragen[0].opleidingen[0]);
antwoordenPerVraag.forEach(berekenEindresultaten);
function berekenEindresultaten(item, index) {
var opleidingArray = VragenEnScores.vragen[index].opleidingen;
var antwoord = "bla";
opleidingArray.forEach(haalScoresOp, antwoord);
// score nog doorgeven aan haalscores op = het item
}
function haalScoresOp(item, index) {
console.log("haal score op voor");
console.log(item.naam);
console.log(item.scores);
console.log("haal antwoord op");
console.log(antwoord);
}
Run Code Online (Sandbox Code Playgroud)
您在antwoord内部引用的方式haalScoresOp无效/废话/不好。您在引用它时就好像它是作用域中的变量一样……嗯,不是。该函数应像其他参数一样接受它作为参数:
function haalScoresOp(antwoord, item, index) {
..
console.log(antwoord);
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以将其传递给呼叫方:
opleidingArray.forEach(function (item, index) {
haalScoresOp(antwoord, item, index)
});
Run Code Online (Sandbox Code Playgroud)
要么:
opleidingArray.forEach(haalScoresOp.bind(null, antwoord));
Run Code Online (Sandbox Code Playgroud)