Страницы

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

четверг, 9 января 2020 г.

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

#javascript #случайные_числа #math


        
             
                
                    
                        
                            На этот вопрос уже даны ответы здесь:
                            
                        
                    
                
                        
                            Как вернуть значение из события или из функции обратного
вызова? Или хотя бы дождаться их окончания
                                
                                    (3 ответа)
                                
                        
                                Закрыт 2 года назад.
            
                    


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. В других случаях перемещения переменной или еще чего - что
код слишком рекурсивен. Уже совсем запуталась
    


Ответы

Ответ 1



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));


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

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