我能夠使用模運算子提出簡單的代碼,并且我在抽象層面上理解它,但我無法在實際代碼中看到概念/想法。誰能使用我為無限回圈更改背景所做的這個簡單版本向我解釋它?我真的很感激一些幫助。這和遞回真的讓我很難過。當我閱讀代碼時,我根本看不到他們在做什么
let i = 0;
function mud() {
const doc = document.body;
let colour = ["#5FA4FF", "#5DA3FF", "#02C2F1", "#2982F8"];
doc.style.backgroundColor = colour[i];
i = (i 1) % colour.length;
}
setInterval(mud, 2000);
uj5u.com熱心網友回復:
% 是除法的余數。這是一個基于您的代碼的互動式示例。變數被添加到 div 中,因此您可以觀察它們的值隨顏色的變化。
var mod = document.querySelector("#mod");
let i = 0;
function mud() {
let colour = ["#5FA4FF", "#5DA3FF", "#02C2F1", "#2982F8"];
mod.style.backgroundColor = colour[i];
let dividend = (i 1);
//get the remainder of dividend (i 1) divided by color.length (4)
i = dividend % colour.length;
mod.innerText = JSON.stringify({
dividend,
divisor: colour.length,
remainder:i,
colorHex: colour[i]
}, null, 2);
}
setInterval(mud, 2000);
div {
width: 200px;
height: 200px;
background-color: lightblue;
white-space: pre;
font-family: monospace;
padding: 10px;
}
<html>
<body>
<div id="mod"></div>
</body>
</html>
uj5u.com熱心網友回復:
正是在這段代碼中,它作為無限回圈作業,因為% colour.length總是會給出一個小于的數字,colour.length當您添加時,1您只需從0to colour.length(不包括)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/442118.html
標籤:javascript 循环 递归 模数
