Объяснение использования случайного цвета - PullRequest
2 голосов
/ 02 августа 2020
function rndm_colour(){
    var letters = '0123456789ABCDEF';
    var color = '#';
    for (var i = 0; i < 6; i++) {
        color += letters[Math.floor(Math.random() * 16)];
    }
    return color
}

Это в моем уроке. Когда я изменил число 6 в i <6 на 7 или больше, код не работает. Зачем? что означает цифра 6? </p>

Ответы [ 4 ]

2 голосов
/ 02 августа 2020

Шесть цифр представляют цвет RGB (2 красных, 2 зеленых, 2 синих). Максимальное значение RGB - 255 (ff в шестнадцатеричном формате). Вот почему максимальное значение цвета #ffffff (100% красный, 100% зеленый, 100% синий)

2 голосов
/ 02 августа 2020

Ваша функция создает цвет HEX, который определяется как #, за которым следуют 6 шестнадцатеричных значений (0–9, AF). 7-й шестнадцатеричный даст неверное значение цвета

0 голосов
/ 02 августа 2020

В вашем коде цвет создается в шестнадцатеричном формате, состоящем из 6 цифр, например (# 00ffff, # 123456), и если вы измените I на 7, это будет неправильно, потому что шестнадцатеричный код 7 di git недействителен (# 1234567) ничего не выведет. Здесь число 6 означает получение случайного числа 6 раз и вставку # с ним

Вы можете попробовать это, чтобы проверить:

<input type="color" value="#123456">// it will output a color because it is 6 digit

<input type="color" value="#1234567">// it will output not output a color because it is 7 digit
0 голосов
/ 02 августа 2020

Быстрый ответ заключается в том, что цвет является шестнадцатеричным представлением RGB (красный, зеленый, синий).

https://developer.mozilla.org/en-US/docs/Web/CSS/color

Функция должна также работают с 8, поскольку 8 символов, поскольку это определяет RGBA (красный, зеленый, синий, альфа (прозрачность)) - https://caniuse.com/#feat = css -rrggbbaa

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...