Правильное объявление переменных
Переменная объявляется
var name; В дальнейшем используется name = 5; (уже без var) Если переменная у меня впервые появляется внутри цикла или другой подобной структуры типа setInterval то корректно объявить её с var до цикла, а внутри цикла только перезаписывать? Просто иногда вся работа идёт внутри цикла и тогда до мне надо кучу переменных объявить... |
корректно
|
mrbanan, зависит от областей видимости, например, в ES6 цикл имеет свою область видимости, в ES5- не имеет. А так все var-ы всплывают при входе в scope, как и объявления функций, в этом суть var-а.
|
Rise я чё-то в этих ES5, ES6 разобраться не могу, вот я пишу на JS сейчас по какому стандарту я пишу?
Или тогда так переформулирую: как писать наиболее безопасно что бы избежать проблем с ошибкой переопределния переменных? |
mrbanan, ES6, остальное ES5-
Цитата:
|
Цитата:
//Правильно var foo; for(var i = 0; i < 10; i++) { foo = 'bar'; } //Правильно (упрощённо) for(var foo, i = 0; i < 10; i++) { foo = 'bar'; } //Неправильно (хоть и будет работать) for(var i = 0; i < 10; i++) { var foo = 'bar'; } //ES6: for(var i = 0; i < 10; i++) { let foo = 'bar'; } А вот в setInterval можно, так как там функция, а это значит, что там уже своя область видимости. ;) |
Часовой пояс GMT +3, время: 05:47. |