簡體   English   中英

有人可以向我解釋一下循環是如何在這里工作的嗎?

[英]Can someone explain to me how the loop works here?

所以我正在關注一個教程,如果你點擊一個按鈕,背景顏色就會改變。 我已經完成了教程並且我已經理解了大部分代碼,但我仍然無法弄清楚獲取十六進制數字的循環是如何工作的

 const hexNumber = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F'] const btn = document.getElementById('btn') const color = document.querySelector('.color') btn.addEventListener('click', function() { let hexColor = "#"; // I can't understand how the loop down below works for (let i = 0; i < 6; i++) { hexColor += hexNumber[getRandomNumber()]; } color.textContent = hexColor document.body.style.background = hexColor }) function getRandomNumber() { return Math.floor(Math.random() * hexNumber.length) }

它比你想象的要簡單。 現在你有一個變量hexColor="#"

如您所知,十六進制顏色由 6 位組成,因此您有一個從 0 到 5 的 for 循環。

在您的循環中,您有hexColor += hexNumber[getRandomNumber()]; 但什么是+= 指令等於hexColor= hexColor + hexNumber[getRandomNumber()];

因此,您要附加 6 倍的值。 但是哪個值? 好吧,它由 function getRandomNumber()定義,它返回一個介於 0 和hexColor長度之間的值。 都在這里。 執行 6 次的 for 循環和 append 數組值之一,因此您將隨機生成十六進制顏色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM