Страницы

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

воскресенье, 29 марта 2020 г.

Почему переменная undefined в функции?

#javascript #jquery


Объясните, пожалуйста, почему в переменная a в функции makeDiv получает undefined? 



        var a=10000;
    (function makeDiv(a){
    		var b=a+1000;
        var divsize = ((Math.random()*100) + 50).toFixed();
        var color = '#'+ Math.round(0xffffff * Math.random()).toString(16);
        $newdiv = $('
').css({ 'width':'50px', 'height':'50px', 'background-color': color }); var posx = (Math.random() * ($(document).width() - divsize)).toFixed(); var posy = (Math.random() * ($(document).height() - divsize)).toFixed(); $newdiv.css({ 'position':'absolute', 'left':posx+'px', 'top':posy+'px', 'display':'none' }).appendTo( 'body' ).fadeIn(100).delay(1000).fadeOut(200, function(){ $(this).remove(); makeDiv(); }); console.log(a); })();


Ответы

Ответ 1



Внутри функции у Вас переменная а - это параметр, который Вы не подаете в вызов функции. var a = 10000; (function makeDiv(/* do not redefine "a" by declaring parameter of the same name */) { var b = a + 1000; console.log(a, b); })(); или var a = 10000; (function makeDiv(a) { var b = a + 1000; console.log(a, b); })(a /* pass global "a" as parameter "a" - they may have different names */);

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

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