В JavaScript вы можете создать переменную и без var, достаточно просто присвоить ей значение:
| x = "value"; // переменная создана, если ее не было
|
Технически, это не вызовет ошибки, но делать так все-таки не стоит.
Всегда определяйте переменные через var. Это хороший тон в программировании и помогает избежать ошибок.
Откройте пример в IE в новом окне:
|
| <meta http-equiv="X-UA-Compatible" content="IE=8">
|
Открыть код в новом окне
Значение не выведется, будет ошибка. Если в IE включена отладка или открыта панель разработки - вы увидите ее.
Дело в том, что почти все современные браузеры создают переменные для элементов, у которых есть id.
Переменная test в них в любом случае существует, запустите, к примеру:
|
| alert(test); // выведет элемент
|
..Но в IE<9 такую переменную изменять нельзя.
Всё будет хорошо, если объявить test, используя var:
Правильный код:
Самое «забавное» — то, что, эта ошибка будет только в IE<9, и только если на странице присутствует элемент с совпадающимid.
Такие ошибки особенно весело исправлять и отлаживать.
Есть и еще ситуации, когда отсутствие var может привести к ошибкам. Надеюсь, вы убедились в необходимости всегда ставить var.
Важность: 2
1. Объявите две переменные: admin и name.
2. Запишите в name строку "Василий".
3. Скопируйте значение из name в admin.
4. Выведите admin (должно вывести «Василий»).
Решение
[Открыть задачу в новом окне]