Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Нужен ли мне «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 наложены всего два ограничения.

  1. Имя может состоять из: букв, цифр, символов $ и _
  2. Первый символ не должен быть цифрой.

Например:

var myName;

var test123;

Что особенно интересно — доллар '$' и знак подчеркивания '_' являются такими же обычными символами, как буквы:

var $ = 1; // объявили переменную с именем '$'

var _ = 2; // переменная с именем '_'

 

alert($ + _); // 3

А такие переменные были бы неправильными:

var 1a; // начало не может быть цифрой

 

var my-name; // дефис '-' не является разрешенным символом

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...