Область видимости переменной - текущая функция. Если переменная объявлена вне функции, то ее область видимости - глобальный объект window.
Здесь javascript похож на традиционные языки программирования
var a = 5
function go() {
var a = 6
}
go() // значение внешней переменной a не меняется
В отличие от большинства языков, javascript блок не задает область видимости.
var i = 5
{
var i
i = 6
}
alert(i) // значение i поменялось
Переменная внешней функции видна во внутренней, благодаря наличию замыканий.
var num_hits = 0, cust_no = 0
var t
Автор: Мараторий, дата: 28 января, 2010 - 15:35
#permalinkА почему следующая конструкция выдает синтаксическую ошибку?
if(var a=1) alert("ура");Почему нельзя делать объявление переменной внутри if?
Автор: Girevik (не зарегистрирован), дата: 4 октября, 2010 - 09:35
#permalinkОбязательно ли указывать "var" при описании переменных?
Автор: Гость (не зарегистрирован), дата: 10 июня, 2014 - 10:38
#permalinkПочему в данном примере в консоль выведется сообщение undefined?
var a = 1; function f1() { console.log(a); var a = 5; } f1();Автор: grinch_ho (не зарегистрирован), дата: 14 августа, 2014 - 10:52
#permalinkПочему var o = {x:7} //=>undefined ?
var x = 7 //=>undefined?
Chrome на эти инструкции возвращает undefined. Проблемы в этом нет, но просто жутко интересно, откуда оно берется.
Автор: Гость (не зарегистрирован), дата: 21 января, 2015 - 07:36
#permalinkЯ думаю надо сменить на сайте фон. Он грузовой какой то. У него даже запах есть стухшего энтузиазма.
Автор: Гость (не зарегистрирован), дата: 15 апреля, 2015 - 13:25
#permalinkДобрый день подскажите пожалуйста почему вот так выводится значение переменной y
var y = 10; var z = 3; function fu(z) { document.write(y+ "<br/>"); fu(z);А если в функцию вставить if, то не выдает undefined, до тех пор пока мы не объявим переменную в самой функции. Почему он не берет значение переменной y из глобальной видимости?
var y = 10; var z = 3; function fu(z) { document.write(y+ "<br/>"); if (z>2) { document.write(y+ "<br/>"); } else { var y = 2; document.write(y+ "<br/>");} } fu(z);Автор: Гость (не зарегистрирован), дата: 24 мая, 2015 - 17:07
#permalinkПомогите пожалуйста, в java вообще не соображаю, как переменную из php поставить в замен '1 день' и 100? P.S. в коментах моя жалкая попытка.
var data = google.visualization.arrayToDataTable([
['дни', 'Сумарное время'],
['1 день', 100],
['2 день', 20],
['9 день', 20]
// [ ' var a = ' <?php echo $row['day'];?>; '',
// var b = ' <?php echo $row['total_time'];?>; ']
] );
Автор: Гость (не зарегистрирован), дата: 17 июля, 2015 - 19:55
#permalinkЗаранее извиняюсь за нубские вопросы.
1) Почему в данном случае инкремент выдаёт NaN?
2) Получается, что нужно обязательно проводить инициализацию переменной, а не просто её объявление? ( var counter = 0; || var counter = new Number(); )?
Автор: Гость (не зарегистрирован), дата: 14 июля, 2017 - 11:15
#permalinkчто-то измениться если переменные объявлять без var?
т.е. есть разница между var a = "abc" и a = "abc" ?
Автор: Antoxa Goaller, дата: 11 июня, 2018 - 11:23
Бывает js не работает при загрузке web-странички через Notepad++, но при этом точно такой же код хорошо отображается в этом конструкторе:
https://codepen.io
С чем это связано?
Автор: Гость (не зарегистрирован), дата: 1 декабря, 2018 - 13:02
#permalinkКак в js нажимая на кнопку тебя перебрасывало на рандомную гиперссылку?