Почему переменная не видна за пределами функции?
Например:
$(document).ready(function(){
test_ = $(window).width();
});
console.log(test_);
И можно ли ее получить вне функции?
Почему переменная не видна за пределами функции?
Например:
$(document).ready(function(){
test_ = $(window).width();
});
console.log(test_);
И можно ли ее получить вне функции?
В уточнение к @Stalker. $(document).ready(function(){}) срабатывает только когда DOM отрисован, а console.log(test_); сразу как скрипт подгрузился.
Необходимо предварительно объявить через var переменную, чтобы так можно было обращаться. Но выдаст undefined по той причине, что я описал выше.
В твоем случае так:
$(document).ready(function(){
let test_ = $(window).width();
console.log(test_);
});
Если упростить, то в данном случае область видимости переменно ограничивается анонимной функцией. Это локальная переменная, которая не должна попасть за пределы функции (иначе в сложном проекте можно было бы что то перезаписать).
Чтобы получить значение вне функции нужно переменную test_ объявить в самом начале, например так:
var test_;
$(document).ready(function(){
test_ = $(window).width();
});
console.log(test_);
test_ присваивается какое-то значение где-то ещё в непоказанном нам коде)?
– Yaant
Feb 05 '19 at 14:52
$(document).ready(function(){ window.test_ = $(window).width(); });– EVG Feb 05 '19 at 14:50