gpt4 book ai didi

javascript - 我的全局变量 lastValue 不会更新,因此我可以检查是否以及何时连续生成 6 两次。谢谢

转载 作者:行者123 更新时间:2023-12-02 21:47:10 26 4
gpt4 key购买 nike

** 如您所见,lastValue 具有全局范围,但我不明白它如何在从函数返回时不更新**

let numGenerator = Math.floor(Math.random() * 6)+1;
let lastValue; // undefined ?????

function checkForConsecutiveNumbers() {
if(lastValue === 6 && numGenerator === 6) {
console.log("Two 6 in a row");
}
lastValue = numGenerator;
};
checkForConsecutiveNumbers();

最佳答案

我不明白这个问题? lastValue 确实得到更新。

let numGenerator = Math.floor(Math.random() * 6)+1;
let lastValue; // undefined ?????

function checkForConsecutiveNumbers() {
if(lastValue === 6 && numGenerator === 6) {
console.log("Two 6 in a row");
}
lastValue = numGenerator;
};
checkForConsecutiveNumbers();
console.log('After function call. lastValue = ', lastValue)

目前,您仅初始化 numGenerator 一次。如果每次调用 checkForConsecutiveNumbers 时都重新初始化它,它将在生成两次 6 时记录。 (对于这个例子,我将强制 numGenerator 始终为 6,但将其替换为 Math.floor(Math.random() * 6)+1

let numGenerator;
let lastValue; // undefined ?????

function checkForConsecutiveNumbers() {
numGenerator = 6; // Re-generate here.
if (lastValue === 6 && numGenerator === 6) {
console.log("Two 6 in a row");
}
lastValue = numGenerator;
};


checkForConsecutiveNumbers();
checkForConsecutiveNumbers();

重新添加随机生成并多次调用它。

如果您多次运行此代码片段,您将看到它选取连续的 6。

let numGenerator;
let lastValue; // undefined ?????

function checkForConsecutiveNumbers() {
numGenerator = Math.floor(Math.random() * 6) + 1
if (lastValue === 6 && numGenerator === 6) {
console.log("Two 6 in a row");
}
lastValue = numGenerator;
};

for (let i = 0; i < 100; i++) {
checkForConsecutiveNumbers();
}

关于javascript - 我的全局变量 lastValue 不会更新,因此我可以检查是否以及何时连续生成 6 两次。谢谢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60226614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com