Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JavaScript (1).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
199.68 Кб
Скачать

Цикл for

Чаще всего применяется цикл for. Выглядит он так:

for (начало; условие; шаг) {

 // ... тело цикла ...

}

Например, цикл ниже выводит значения от 0 до 3 (не включая 3):

   

1

var i;

2

 

3

for (i=0; i<3; i++) {

4

  alert(i);

5

}

  • Начало i=0 выполняется при заходе в цикл.

  • Условие i<3 проверяется перед каждой итерацией.

  • Шаг i++ выполняется после каждой итерации, но перед проверкой условия.

Массив Array Создание

01

/* обычный синтаксис */

02

var array = [ elem0, elem1, elem2, ... ]

03

var empty = []

04

 

05

/* Синтаксис с new Array() */

06

var array = new Array( elem0, elem1, elem2, ...)

07

var empty = new Array()

08

 

09

/* Редкий синтаксис: аргумент new Array - одно число.

10

При этом создается массив заданной длины,

11

все значения в котором undefined */

12

var array = new Array(10)

Аргументы

elem0, elem1, ...

  • Если ни один из параметров elem0, elem1, ... не указан, то инициализируется пустой массив.

  • Если указан лишь один числовой параметр elem0 и массив объявлен черезnew Array, то будет инициализирован пустой массив длины, равной данному числу. При этом все элементы являются undefined.

  • В ином случае создается массив из перечисленных элементов.

Функция Function

Создание

new Function ([arg1[, arg2[, ... argN]],] functionBody)

Аргументы

arg1, arg2, ... argN

Имена параметров для создаваемой функции. Каждый аргумент должен быть строкой, которая является корректным идентификатором javascript или списком таких строк, разделенных запятой. Например: "x", "theValue" или "a,b".

functionBody

javascript-код тела функции

Объявленная функция доступна по имени, например:

1

function showMessage() { 

2

  alert('Привет всем присутствующим!');

3

}

4

 

5

showMessage();

6

showMessage();

Операторы в JavaScript делятся на:

  1. Арифметические

  2. Побитовые

  3. Логические

  4. Сравнение

Арифметические

+ - * / %

В отличие от некоторых других языков, оператор "+" делает конкатенацию, если хотя бы один операнд - строка, причем, не обязательно первый.

Унарный оператор "+" также используется для преобразования строки к числу:

alert(+"123"+1) // 124

Побитовые

& | ^ >> >>> <<

Все побитовые операции работают с 4-байтовым signed int.

Операция >>> сдвигает побитово вправо, а слева нулями дополняет. В результате эффект - тот же, что и при простом сдвиге >> для положительных чисел.

Для отрицательных - все по-другому. Например, -9 в битовом виде выглядит как: 11111111111111111111111111110111.

Операция >>> даст эффект: -9 >>> 2 будет в битовом виде 00111111111111111111111111111101, т.е 1073741821.

Логические

&&

Логическое И. Возвращает последний операнд, если все операнды верны. Если хоть один из операндов неверен, то возвратит первый неверный операнд.

Например, 1 && 2 = 2:

1 && 0 && false === 0:

Оператор И обычно используется, чтобы избежать ошибок при получении вложенных свойств объекта.

Например, нужно свойство petShop.animals.rabbit или ложное значение, если такого свойства нет.

Безопасный способ:

var rabbit = petShop && petShop.animals && petShop.animals.rabbit

Этот код корректно выполнится, даже если petShop = false, в то время как

var rabbit = petShop.animals.rabbit

выдаст ошибку(бросит исключение) об отсутствующем свойстве.

||

Оператор логического ИЛИ возвращает первое верное значение. А если верных значений вообще нет, то последнее неверное. Это удобно использовать так:

var e = event || window.event // если event не событие, то берем window.event

!

Логическое НЕ, также удобно для преобразования в Boolean.

1

var str = "something"

2

// эквивалентные записи

3

var test = Boolean(str)

4

var test = !!str

Сравнение

== !=  < >  <=  >=  ===  !==

Операторы больше-меньше также работают со строками, сравнивая их лексикографически, т.е посимвольно.

"B">"a"

"bc" < "bd"

Сравнение == делается с приведением типов, а === без приведения типов, например:

0 == false  // верно

// но

0 !== false  //типы разные

?

Тернарный оператор. В старых парсерах javascript с ним были проблемы, надо было заключать сравнение в скобки, но в новых - вполне нормальный оператор

var test = (1==2) ? "one" : "two"

// эквивалентно

var test = 1==2 ? "one" : "two"

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]