Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало пути.doc
Скачиваний:
0
Добавлен:
04.01.2020
Размер:
7.81 Mб
Скачать

Булев тип

Переменные булевого типа могут принимать одно из двух значения: true – истина; false – ложь. Переменные булевого типа часто использу­ются в условном операторе if. Пример:

var d= true;

if (d) { alert(“Hello, World!”); }

Переменные типа Undefined и Null

Тип undefined используется для несуществующих переменных или переменных, значения которых еще не определены. В следующем примере переменная x будет иметь значение undefined.

var x;// undefined

Тип null означает пустое значение. Пример объявления:

var x = null;

Массивы

В JavaScript массив – это упорядоченная коллекция дан­ных. По сути это объект, такой же, как Object, который определяется как ассоциированный массив(хеш), у которого в качестве индекса используется строка.

Существуют два способа объявления массива. Первый способ:

var myArr = new Array();

Все элементы массива пронумерованы, первый элемент массива имеет нулевой индекс. Доступ к элементу массива осуществляется с по­мощью квадратных скобок и номера этого элемента. Пример:

myArr[3] = “Hello!”;

var x = myArr[3];

Второй способ создания массива через инициализацию значений.

var emptyArr = [];

Var x=[1,2,3];

Var y=x;

x[0]=100;

alert(y);// выедет 100,2,3

Массивы могут быть многомерными. Объявление и обращение к многомерному массиву выглядит так:

var myArr = [[1,2],[3,4],[5,6]]; // массив размером 3х2

alert(myArr[2][1]);//выводится элемент, равный 6.

Имя массива в любом случае является ссылкой.

Операторы и выражения

Выражения на одной строке программы JavaScript разделяются точкой с запятой; если выражения находятся на разных строках, то точка с запятой может и не ставиться. В этом отличие от языков C++ и Java, в которых точкой с запятой используется для завершения операторов. Точка с запятой является пустым оператором.

Несколько выражений могут объединяться в блок с помощью фи­гурных скобок { }, однако блоки не определяют область видимости и время жизни переменных, как в С++ .

Оператор присваивания

Значение присваивается одной переменной или сразу нескольким переменным, поскольку "=" является пустым оператором:

var n = j = k = 2;

Арифметические операторы

В языке JavaScript поддерживаются арифметические операторы: «+», «-», «*», «/», «%», <<+=>>, << -=>>, ...

Операция деления выполняется следующим образом:

var y=6/4; //1.5

var z=6%4;//остаток от деления - 2

Так как оператор сложения "+" является перегружаемым, при ра­боте со строками он означает конкатенацию последних s = "str1" + "str2".

Остальные арифметические операции выполняются в числовом контексте, в котором строки автоматически преобразуются в числа, например

var w="12"+3;//123

var x="5"*"20";//100

var v="12"-3;//9

alert(""+x+v+w);

Операция инкремента «++», служит для прибавления 1 к операнду, соответственно декремент «--» – используется для вычитания 1 от опе­ранда.

Операторы сравнения

В языке JavaScript поддерживаются следующие операторы сравне­ния:

«<», «<=», «>», «>=», «!=», «==» – равно; «===» – равно и операнды одинакового типа (тождественно равно, строгое сравнение); «!==» – не равно или операнды разных типов.

Для иллюстрации оператора строгого сравнения приведем пример:

var x = 0;

var y = false;

alert(x==y);

//true из-за приведения операндов в выражении к одному типу

alert(x===y);

//выдаст на экран false, так как операнды разных типов.

Логические операторы

В языке JavaScript поддерживаются следующие логические опера­торы:

«&&» – логическое И; «||» – логическое ИЛИ; «!» – логическое НЕ.

Оператор «?»

Оператор «?» возвращает значение первого выражения, если усло­вие истинно, и второго выражения, если условие ложно при синтаксисе:

условие ? выражение1 : выражение2;

Пример использования:

var x = 6; var y = 9;

var res = x < y ? "x меньше y" : "x больше или равно y";

alert(res);

//выведет экран фразу «x меньше y»

Оператор typeof

Оператор typeof операнд возвращает строковое значение, которое опреде­ляет тип операнда: "number", "string", "boolean", "object", "function" и "undefined".

Условный оператор if

Оператор имеет следующий вид:

if (условие)

// выражение или блок выражений

else

//выражение или блок выражений

Ветка else может отсутствовать.

Операторы организации циклов

Ниже приведен синтаксис для организации циклов. Цикл выполня­ется, пока значение логического выражения равно true

1. while (условие){

// выражение или блок выражений

}

2. do

// выражение или блок выражений

while (условие);

3.Цикл for имеет синтаксис:

for (нач_значения; условие; изменение_нач_значений){

//выражение или блок выражений

}

Пример цикла for показан ниже:

<!-- пример pr8 -->

<html>

<body>

<script type="text/javascript">

for (var i = 0; i < 4; i++) {

alert(i );

}

//на экран последовательно будут выведены числа:0 1 2 3

document.write("i=",i);// i=4

</script>

</body>

</html>

4. Оператор цикла for…in служит для просмотра всех свойств в объекте(массиве) и присваивания их значений переменной:

for (имя_переменной in объект)

выражение или блок выражений

При этом изменять значения элементов нельзя. Рассмотрим пример перебора всех стилей указанного эле­мента:

<!-- пример pr9 -->

<html>

<head>

<style type=text/css>

#myP{color:green;

font-style: italic;

font-variant:normal;

font-weight: bold;

font-size: 30px;

font-family: arial, sans-serif;}

</style>

</head>

<body>

<p id="myP">test</p>

<script type="text/javascript">

var obj;

for (obj in document.getElementById("myP").style) {

alert(obj+'='+document.getElementById("myP").style[obj]);

}

</script>

</body>

</html>

Цикл выведет все свойства объекта style элемента myP.

Операторы continue и break могут применяться во всех циклах, пер­вый служит для прерывания данной итерации и перехода к следующей итерации в цикле, второй для вы­хода из цикла.

Оператор with

Оператор with присоединяет имя объекта к имени свойства объекта. С помощью оператора with можно обращаться со свойствам объекта в сокращенном виде:

with (object) {

//свойства

}

Оператор switch

switch (переменная) {

case условие1: выражение; break;

case условие2: выражение; break;

// ...

case условие N: выражение; break;

default: выражение

}

Здесь выполняется тот вариант, для которого значение переменной совпадает со значением "условие". Ветка default выполняется, если ни одно из условий не выполняется, эта ветка может отсутствовать.

Функции

Стандартные функции.

В JavaScript используются стандартные функции:

eval() : позволяет выполнить строку, содержащую выражение, как javascript-код. Это полезно когда код формируется в ходе выполнения скрипта. При­мер реализации простейшего калькулятора приведен ниже:

<!-- пример pr11 -->

<html>

<body>

<input type="text" id="calc" />//вводится текст выражения

<input type="button" value="Calculate!"

onclick="alert(eval(document.getElementById('calc').value))" />

//вычисляется выражение

</body>

</html>

Функции parseInt(), parseFloat() предназначены для того, чтобы превращать строку в число. Функции encodeURI(), decodeURI(), encodeURIComponent(), decodeURIComponent() предназначены для работы с URI (Uniform Resource Identifier). isNaN() - если числовая операция не может вернуть число, то используется специальное нечисловое значение NaN, и указанная функция. isFinite() - проверяет Infinite (бесконечность).