Не понимаю логику моей функции / переменной - PullRequest
0 голосов
/ 01 сентября 2018
Math.floor(Math.random() * 4)

Создает случайное число от 0 до 3 ..... Отлично! Но если я назначу функцию переменной "num"

var num = Math.floor(Math.random() * 4)
console.log(num)

он выдаст только номер 1. Почему? Я хочу, чтобы num было случайным числом от 0 до 3.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

@ Каран Дхир дал хороший ответ, но продемонстрировал, используя собственный фрагмент кода

for(var i=0; i<10;i++){
    var num = Math.floor(Math.random() * 4)
    console.log(num)
}
0 голосов
/ 01 сентября 2018

Это потому, что присвоение выполняется только один раз, и вы, вероятно, снова печатаете переменную с тем же значением.

Вы можете сделать что-то вроде этого, когда функция возвращает случайное число каждый раз, когда вы вызываете его:

var num = function() {
  return Math.floor(Math.random() * 4);
}
console.log(num());
console.log(num());
console.log(num());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...