我是新來的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