Страницы

Поиск по вопросам

понедельник, 18 февраля 2019 г.

Math.random, Javascript. Что-то пошло не так [дубликат]

На данный вопрос уже ответили: Как вернуть значение из события или из функции обратного вызова? Или хотя бы дождаться их окончания 3 ответа
var GoodObj = {};
$(document).ready(function() { var a = Math.floor(Math.random() * 50); var b = Math.floor(Math.random() * 50); var trololo = parseInt(a + b); GoodObj.lala = trololo; document.getElementById('number').innerHTML += a; document.getElementById('number').innerHTML += '+'; document.getElementById('number').innerHTML += b; });
function myFunction (){ var myTrololo = GoodObj.lala; var stop = false; if (document.getElementById('timer').innerHTML == myTrololo) { alert('right'); return true; } else { alert('false'); return stop; } }
function randomInt(min,max){ return Math.floor(Math.random() * (max - min) + min); } var param = randomInt(14, GoodObj.lala); alert(randomInt(14, GoodObj.lala));
Здесь GoodObj.lala - сума двух рандомных чисел. Не думаю, что тот кусок кода нужен. В общем, выводит Nan. В других случаях перемещения переменной или еще чего - что код слишком рекурсивен. Уже совсем запуталась


Ответ

var GoodObj = {}; $(document).ready(function() { var a = Math.floor(Math.random() * 50); var b = Math.floor(Math.random() * 50); var trololo = parseInt(a + b); GoodObj.lala = trololo; document.getElementById('number').innerHTML += a; document.getElementById('number').innerHTML += '+'; document.getElementById('number').innerHTML += b; var param = randomInt(14, GoodObj.lala); console.log(randomInt(14, GoodObj.lala)); }); function randomInt(min, max) { return Math.floor(Math.random() * (max - min) + min); } // этот кусок кода выполняется сразу, тогда, когда инициализация // var trololo = parseInt(a + b); // GoodObj.lala = trololo; // только после загрузки всего ДОМ дерева // в итоге GoodObj.lala попросту не существует и ровняется undefined что и дает нам NaN // просто перенесите в $(document).ready //var param = randomInt(14, GoodObj.lala); //console.log(randomInt(14, GoodObj.lala));


Комментариев нет:

Отправить комментарий