我是新来的JavaScript和编码的一般,我可以使用一些帮助。Javascript全局变量设置为新值
我设置一个全局变量(generatedNumbers)等于另一个变量(数字),以便我可以对数组做一些验证。但是,当我更改数字的值时,我的全局变量generatedNumbers也得到了更改。任何帮助,将不胜感激。
var generatedNumbers;
function generateNumbers(numberOfNumbers) {
'use strict';
var i;
generatedNumbers = [];
for (i = 0; i < numberOfNumbers; i = i + 1) {
generatedNumbers.push(generateRandomNumber(9).toString());
}
}
function checkEachValidNumberUsed(userExpression, numbers) {
'use strict';
var i, j;
for (i = 0; i < userExpression.length; i = i + 1) {
for (j = 0; j < numbers.length; j = j + 1) {
if (userExpression[i] === numbers[j]) {
numbers.splice(j, 1);
window.console.log(generatedNumbers);
}
}
}
if (numbers.length !== 0) {
return true;
}
}
function validateExpression(userExpression) {
'use strict';
var numbers, validUserInput;
numbers = generatedNumbers;
window.console.log(generatedNumbers);
if (checkEachValidNumberUsed(userExpression, numbers)) {
document.getElementById("feedbackText").innerHTML = "Each number must be used exactly once.";
} else {
return true;
}
你说“我设置一个全局变量(generatedNumbers)等于另一个变量(数字)”,但在这里,你实际上将'numbers'设置为'generatedNumbers':'numbers = generatedNumbers;' – Tgsmith61591
你的代码是错过了最后一个else语句的右括号},这是一个错字吗? –
声明的地方generateRandomNumber()? – enguerranws