jquery — использовать переменную вне функции

#jquery #variables #definition

#jquery #переменные #определение

Вопрос:

Как я могу использовать переменную вне функции, в которой она была объявлена?

 $(function() {
    function init() {
        var bwr_w = $(window).width();
    }
    init();
    $('#button').click(function() {
        alert('The Browser Height is'   bwr_w);
    });
});
  

Если я нажимаю на кнопку, я получаю эту ошибку:

bwr_w не определен

Ответ №1:

Просто объявите эту переменную в области видимости конструктора:

 $(function() {
    var bwr_w = null;

    function init() {
        bwr_w = $(window).width();
    }

    init();

    $('#button').click(function() {
        alert('The Browser Height is'   bwr_w);
    });
});
  

Ответ №2:

попробуйте это

 $(function() {
  var bwr_w = 0;
  function init() {
    bwr_w = $(window).width();
  }
  init();
  $('#button').click(function() {
    alert('The Browser Height is'   bwr_w);
  });
});
  

Ответ №3:

Если вы объявляете переменную вне функции, а затем присваиваете ей значение внутри функции, оно должно быть доступно в другом месте. До тех пор, пока вы уверены, что значение будет присвоено. Если вы не уверены, возможно, вам захочется присвоить значение по умолчанию:

 $(function() {

        var bwr_w; // or 'var bwr_w = default_value;'

    function init() {
        bwr_w = $(window).width();
    }
    init();
    $('#button').click(function() {
        alert('The Browser Height is'   bwr_w);
    });
});
  

Ответ №4:

Попробуйте это

   $(function() {
    var bwr_w_var = function() {
        let bwr_w = 'stack overflow';
        return bwr_w;
    };
    function() {
        let bwr_w = bwr_w_var();
        console.log(bwr_w);
    };
  });