Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Разработка мобильных приложений для бизнеса. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Вторая форма оператора означает, что если значение условия истин-
но, то выполняется оператор_1; если оно ложно, то выполняется опера­тор_2.
Пример использования условного оператора в теле функции, воз-
вращающей наибольшее из трех чисел:
function maxValue(x, y, z) { if (x >= y) { if (x >= z) return x; else return z; } else { if (y >= z) return y; else return z; } }
Оператор выбора
Оператор выбора switch выполняет ту или иную последовательность
операторов в зависимости от значения определенного выражения. Он име­ет вид:
switch (выражение) { case значение: операторы break; case значение: операторы break; ... default: операторы }
Здесь выражение – это любое выражение, значение – это возможное
значение выражения, а операторы – любые группы операторов JavaScript.
Оператор выбора сначала вычисляет значение выражения, а затем
проверяет, нет ли этого значения в одной из меток case значение. Если та­кая метка есть, то выполняются операторы, следующие за ней; если нет, то выполняются операторы,
следующие за меткой default (если она отсутст-
вует, то управление передается оператору, следующему за switch).
21
Необязательный оператор break указывает, что после выполнения
операторов управление передается оператору, следующему за switch. Если break отсутствует, то после выполнения операторов начинают выполняться операторы, стоящие после следующей метки case (управление как бы «проваливается» в следующую метку).
В следующем примере значение переменной length преобразуется в
метры в зависимости от начальной единицы менной str. Обратите внимание, что после case «м» нет оператора break; в данном случае это означает, что эта метка и метка default обрабатываются одинаково, а именно значение переменной length не изменяется.
var str = "см"; var length = 25; switch (str) { case "км": length *= 1000; break; case "см": length /= 100; break; case "м": default: break; }
измерений, заданной в пере-
Циклы
Цикл – это последовательность операторов, выполнение которой по-
вторяется до тех пор, пока определенное условие не станет ложным. JavaScript содержит три оператора цикла: for, while и do...while, а также операторы break и continue, которые используются внутри циклов.
Близок к операторам цикла и оператор итерации for...in, используе-
мый при работе с объектами
Оператор цикла for имеет вид:
for (инициализация; условие; изменение) оператор
Здесь инициализация и изменение – это любое выражение, условие –
любое выражение, значение которого может быть преобразовано к логиче­скому типу, оператор – любая группа операторов JavaScript; если эти груп­па содержит более одного оператора, то она должны быть заключена в фигурные скобки {}. Инициализация может содержать декларацию пере­менной
.
.
Оператор for
22
Оператор for выполняется следующим образом:
1. Выполняется выражение инициализация (обычно это выражение
инициализирует счетчик или счетчики цикла).
2. Вычисляется значение выражения условие. Если оно ложно, то
управление передается оператору, следующему за данным оператором.
3. Выполняется оператор.
4. Выполняется выражение изменение (обычно это выражение уве-
личивает или уменьшает счетчик или счетчики цикла
) и управление пере-
дается этапу 2.
Данный оператор обычно используется в тех случаях, когда количе-
ство повторений цикла известно заранее. Например, следующая функция обнуляет все элементы массива, переданного ей в качестве аргумента:
function initArray(a) { for (var i = 0; i < a.length; i++) a[i] = 0; }
Оператор while
Оператор цикла while имеет вид: while (условие) оператор
Здесь условие – любое выражение, значение которого может быть
преобразовано к логическому типу, оператор - любая группа операторов JavaScript; если эти группа содержит более одного оператора, то она долж­ны быть заключена в фигурные скобки {}.
Оператор while выполняется следующим образом:
1. Вычисляется значение выражения условие. Если оно ложно, то
управление передается оператору, следующему за данным оператором.
2. Выполняется оператор и управление передается этапу 1. При использовании данного оператора необходимо убедиться, что
рано или поздно условие станет ложным, т. к. иначе сценарий войдет в бесконечный цикл, например:
while (true) document.write("Привет всем!");
Оператор do...while
Оператор цикла do...while имеет вид: do оператор while (условие)
Здесь условие – любое выражение, значение которого может быть
преобразовано к логическому типу, оператор - любая группа операторов JavaScript; если эти группа содержит более одного оператора, то она долж­ны быть заключена в фигурные скобки {}.
23
Оператор do … while выполняется следующим образом:
1. Выполняется оператор.
2. Вычисляется значение выражения условие. Если оно ложно, то
управление передается оператору, следующему за данным оператором.
3. Управление передается этапу 1.
Этот оператор отличается от оператора while тем, что цикл обяза-
тельно выполняется хотя бы раз. Пример:
var i = 0; do document.write(i++); while (i < 10);
24
3. РАСШИРЕННОЕ ПРОГРАММИРОВАНИЕ НА JAVASCRIPT
Строки
Класс String – это встроенный класс JavaScript. Объекты данного
класса создаются всякий раз, когда в сценарии создаются строковые пере­менные. Свойства и методы данных объектов позволяют проводить основ­ные операции со строками.
Свойства
length
Определяет длину строки. Пример использования: var str; str = "Hello World!"; var len = str.length; document.write("Длина строки: " + len);
Методы
Ниже перечислены основные методы, присутствующие в классе
String.
replace(searchFor, replaceWith)
var visitorName = "Chuck"; var myOldString = "Hello username! I hope you enjoy your stay
username.";
var myNewString = myOldString.replace(/username/g, visitorName);
document.write("Old string = " + myOldString); document.write("New string = " + myNewString); Результат: Old string = Hello username! I hope you enjoy your stay username. New string = Hello Chuck! I hope you enjoy your stay Chuck.
str_replace(searchFor, replaceWith, sourceString)
// str_replace("что заменяем", "чем заменяем", "исходная строка"); function str_replace(search, replace, subject) { return subject.split(search).join(replace); }
anchor(nameAttribute)
Метод anchor используется с методами write или writeln для про-
граммного создания и отображения якоря в документе. Якорь создается с помощью метода anchor, а write или writeln используется для отображе­ния якоря в документе. Строка nameAttribute представляет собой атрибут
25
NAME тага <A>. Якоря, созданные с помощью метода anchor, становятся элементами массива anchors.
Пример использования:
var str = "Hello World!"; document.write(str.anchor("Hello"));
bold()
Вызывает строку, отображаемую жирным шрифтом (аналогично ис-
пользованию тэга <b>).
Пример использования:
var str = "Hello World!"; document.write(str.bold());
charAt(index)
Возвращает символ, указанный в index. Символы в строке индекси-
руются слева направо. Индексом первого символа является 0. Если указан index превышающий количество символов в строке, JavaScript возвратит пустую строку.
Пример использования:
var str = "Hello World!"; document.write(szStr.charAt(0)); (в результате будет выведен символ H)
fixed()
Возвращает строку, отображаемую моноширинным шрифтом. Пример использования:
var str = "Hello World!"; document.write(str.fixed());
fontcolor(color)
Вызывает строку, отображаемую установленным цветом. Цвет color –
строка или свойство существующего объекта, определяющая цвет как шес­тиразрядное шестнадцатеричное число (RGB) или как одно из строковых названий.
Пример использования:
var str = "Hello World!"; document.write(str.fontcolor(red));
fontsize(size)
Вызывает строку, отображаемую установленным размером шрифта.
Размер size задается как целое число (возможно, со знаком + или -) из диа­пазона от 1 до 7, или как свойство существующего объекта.
26
Пример использования: var str = "Hello World!"; document.write(str.fontsize("+1"));
indexOf(searchValue[, fromIndex])
Возвращает позицию первого вхождения подстроки searchValue в
вызванном объекте. Поиск начинается с fromIndex (если не указано, то с начала строки). Если подстрока не найдена, то возвращается -1.
Пример использования:
var str = "Язык сценариев JavaScript"; k = szStr.indexOf("сценариев"); document.write(k);
italics()
Возвращает строку, отображаемую курсивом (аналогично использо-
ванию тэга <i>).
Пример использования:
var str = "Hello World!"; document.write(szStr.italics());
lastindexOf(searchValue, [fromIndex])
Возвращает позицию последнего вхождения подстроки searchValue
в вызванном объекте. Поиск начинается с fromIndex (если не указано, то с конца строки). Если подстрока не найдена, то возвращается -1.
Пример использования:
var str = "Язык сценариев JavaScript"; k = str.lastindexOf("сценариев"); document.write(k);
link(hrefAttribute)
Создает гипертекстовую ссылку в документе HTML. Используется
совместно с методами write или writeln. Строка hrefAttribute представля­ет собой атрибут HREF тэга <A> (целевой URL). Ссылки, созданные мето­дом link, становятся элементами массива links.
Пример использования:
var str = "Hello World!"; document.write(str.link("http://www.hello.ru"));
sub()
Возвращает строку, отображаемую как нижний индекс (подобно ис-
пользованию тэга <sub>).
Пример использования:
var str = "Hello World!"; document.write(str.sub());
27
substring(indexA, indexB)
Если indexA меньше чем indexB, то метод substring возвращает под-
строку, начиная с символа indexA и заканчивая символом перед indexB. Если indexA больше чем indexB, то метод substring возвращает подстро­ку, начиная с символа indexB и заканчивая символом перед indexA. Если indexA равен indexB, то метод substring возвращает пустую строку.
Пример использования:
var str = "Язык сценариев JavaScript"; document.write(szStr.substring(5,14));
sup()
Возвращает строку, отображаемую как верхний индекс (подобно ис-
пользованию тэга <sup>).
Пример использования:
var str = "Hello World!"; document.write(str.sup());
toLowerCase()
Возвращает значение вызванной строки, переведенной в нижний
регистр.
Пример использования:
var str = "Hello World!"; document.write(str.toLowerCase());
toUpperCase()
Возвращает значение вызванной строки, переведенной в верхний
регистр.
Пример использования:
var str = "Hello World!"; document.write(str.toUpperCase());
Дополнительные функции для работы со строками
Ниже перечислены некоторые встроенные функций, не являющиеся
методами объекта String, но, тем не менее, предназначенные для работы со строками.
eval
Функция eval предназначена для преобразования текстовой строки в
численное значение. Через единственный параметр она получает тексто­вую строку и вычисляет ее как выражение
языка JavaScript. Функция воз-
вращает результат вычисления:
var nValue = eval(str);
28
parseInt
Эта функция предназначена для преобразования текстовой строки в
целочисленное значение. Строка передается функции через параметр:
var nValue = parseInt(str);
parseFloat
Функция parseFloat пытается преобразовать текстовую строку в
число с плавающей точкой. Текстовая строка передается этой функции че­рез первый параметр, а основание счисления - через второй:
var nFloat = parseFloat(str, nRadix);
escape
С помощью функции escape сценарий JavaScript может закодировать
текстовую строку с применением URL-кодировки. В этой кодировке спе­циальные символы, такие как пробел или символ табуляции, преобразуют­ся к следующему виду: %XX, где XX - шестнадцатеричный код символа. Пример использования этой функции:
var szURL = escape(szStr);
unescape
Функция unescape выполняет действие, прямо противоположное
действию функции escape - перекодирует строку из URL-кодировки в обычную текстовую строку:
var str = unescape(szURL);
Даты
Для работы с датой и временем в JavaScript существует специальный
класс – Date. Этот класс поддерживается практически всем версиями JavaScript, а значит, им можно пользоваться, не оглядываясь на проблемы совместимости.
Дата и время в объекте класса Date хранятся не в явном виде, а, как и
в большинстве языков программирования – в виде количества миллисекунд
,
прошедших с дня рождения Unix, т.е. с 0 часов 0 минут 1 января 1970 г. Отличительная особенность объекта Date – все диапазонные значения име­ют индексы, начинающиеся с нуля. Это означает, что январь будет иметь индекс 0 (месяц № 0), а декабрь будет не двенадцатым, а одиннадцатым ме­сяцем. То же самое справедливо и для дней недели, часов,
минут и пр.
Создание объекта класса Date:
var date = new Date(); // текущая дата-время date = new Date(дата); // дата-время из строки или числа date = new Date(год, месяц, день, час, минута, секунда, миллисекун-
да); // дата-время из отдельных значений
29
Класс Date обладает рядом очень полезных методов (табл. 3.1), по-
зволяющих работать с отдельными компонентами даты-времени, а также проводить проверку корректности и правильный вывод даты в заданном формате.
Таблица 0.5
Методы класса Date
Методы получения компонентов даты-времени
getFullYear Возвращает год (например, 2011). getYear Возвращает год. Назначение метода getYear аналогично назна-
чению getFullYear, однако данный метод является устаревшим и не рекомендуется к использованию, т.к. результаты его работы не однозначны: для диапазона дат от 1900 до 1999 г. метод воз­вращает номер года в столетии (двузначный, например 77), а для дат за пределами этого диапазона - возвращается полное значе­ние (четырёхзначное, например 2009).
getMonth Возвращает месяц. getDate Возвращает день месяца (число в месяце). getHours Возвращает час. getMinutes Возвращает минуту. getSeconds Возвращает секунду. getMilliseconds Возвращает миллисекунду. getDay Возвращает номер дня недели. getTime Возвращает миллисекундное смещение, хранимое объектом.
Методы изменения компонентов даты-времени
setFullYear Устанавливает год. setYear Устанавливает год. Назначение метода setYear аналогично на-
значению setFullYear, однако данный метод является устарев­шим и не рекомендуется к использованию (так же как и метод
getYear). setMonth Устанавливает месяц. setDate Устанавливает дату в месяце (день месяца). setHours Устанавливает час. setMinutes Устанавливает минуту. setSeconds Устанавливает секунду. setMilliseconds Устанавливает миллисекунду. setTime Устанавливает миллисекундное смещение относительно
00:00:00 01.01.1970
Фунции форматирования и вывода даты-времени
toString Возвращает строковое представление даты и времени. toUTCString Возвращает строковое представление даты и времени с пересчё-
том на время UTC. Формат возвращаемой строки учитывает все
интернет-стандарты. toGMTString Возвращает строковое представление даты и времени с пересчё-
том на время GMT (время по Гринвичу). Формат возвращаемой
строки учитывает все интернет-стандарты. toLocaleString Аналог toString, но возвращает строковое представление даты и
времени, отформатированное в соответствии с настройками ло-
кализации данного пользователя.
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]