Нужен ли мне «use strict»?
Если говорить абстрактно, то — да, нужен. В строгом режиме исправлены некоторые ошибки в дизайне языка, и вообще, современный стандарт — это хорошо. Однако, есть и две проблемы. Поддержка браузеров IE9-, которые игнорируют "use strict". Предположим, что мы, используя "use strict", разработали код и протестировали его в браузере Chrome. Всё работает… Однако, вероятность ошибок при этом в IE9- выросла! Он-то всегда работает по старому стандарту, а значит, иногда по-другому. Возникающие ошибки придётся отлаживать уже в IE9-, и это намного менее приятно, нежели в Chrome. Впрочем, проблема не так страшна. Несовместимостей мало. И если их знать (а в учебнике мы будем останавливаться на них) и писать правильный код, то всё будет в порядке и "use strict" станет нашим верным помощником. Библиотеки, написанные без учёта "use strict". Некоторые библиотеки, которые написаны без "use strict", не всегда корректно работают, если вызывающий код содержит "use strict". В первую очередь имеются в виду сторонние библиотеки, которые писали не мы, и которые не хотелось бы переписывать или править. Таких библиотек мало, но при переводе давно существующих проектов на "use strict" эта проблема возникает с завидной регулярностью. Вывод? Писать код с use strict следует лишь в том случае, если вы уверены, что описанных выше проблем не будет. Конечно же, весь код, который находится в этом учебнике, корректно работает в режиме "use strict". ES5-shim Браузер IE8 поддерживает только совсем старую версию стандарта JavaScript, а именно ES3. К счастью, многие возможности современного стандарта можно добавить в этот браузер, подключив библиотеку ES5 shim, а именно — скрипты es5-shim.js и es5-sham.js из неё.
Итого В этой главе мы познакомились с понятием «строгий режим». Далее мы будем предполагать, что разработка ведётся либо в современном браузере, либо в IE8- с подключённым ES5 shim. Это позволит нам использовать большинство возможностей современного JavaScript во всех браузерах. Очень скоро, буквально в следующей главе, мы увидим особенности строгого режима на конкретных примерах. Переменные В зависимости от того, для чего вы делаете скрипт, понадобится работать с информацией. Если это электронный магазин — то это товары, корзина. Если чат — посетители, сообщения и так далее. Чтобы хранить информацию, используются переменные. Переменная Переменная состоит из имени и выделенной области памяти, которая ему соответствует. Для объявления или, другими словами, создания переменной используется ключевое слово var: var message; После объявления, можно записать в переменную данные: var message; message = 'Hello'; // сохраним в переменной строку Эти данные будут сохранены в соответствующей области памяти и в дальнейшем доступны при обращении по имени: var message; message = 'Hello!';
alert(message); // выведет содержимое переменной Для краткости можно совместить объявление переменной и запись данных: var message = 'Hello!'; Можно даже объявить несколько переменных сразу: var user = 'John', age = 25, message = 'Hello'; Аналогия из жизни Проще всего понять переменную, если представить её как «коробку» для данных, с уникальным именем. Например, переменная message — это коробка, в которой хранится значение "Hello!": В коробку можно положить любое значение, а позже – поменять его. Значение в переменной можно изменять сколько угодно раз: var message;
message = 'Hello!';
message = 'World!'; // заменили значение
alert(message); При изменении значения старое содержимое переменной удаляется. Можно объявить две переменные и копировать данные из одной в другую:
var hello = 'Hello world!';
var message;
// скопировали значение message = hello;
alert(hello); // Hello world! alert(message); // Hello world! На заметку: Существуют функциональные языки программирования, в которых значение переменной менять нельзя. Например, Scala или Erlang. В таких языках положил один раз значение в коробку — и оно хранится там вечно, ни удалить ни изменить. А нужно что-то другое сохранить — изволь создать новую коробку (объявить новую переменную), повторное использование невозможно. С виду — не очень удобно, но, как ни странно, и на таких языках вполне можно успешно программировать. Более того, оказывается, что в ряде областей, например в распараллеливании вычислений, они имеют преимущества. Изучение какого-нибудь функционального языка рекомендуется для расширения кругозора. Имена переменных На имя переменной в JavaScript наложены всего два ограничения.
Например: var myName; var test123; Что особенно интересно — доллар '$' и знак подчеркивания '_' являются такими же обычными символами, как буквы: var $ = 1; // объявили переменную с именем '$' var _ = 2; // переменная с именем '_'
alert($ + _); // 3 А такие переменные были бы неправильными: var 1a; // начало не может быть цифрой
var my-name; // дефис '-' не является разрешенным символом
Читайте также: Зачем нужен креатив в общем и целом? Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|