logo search
Vvedenie_v_Veb_programmirovanien_2 / Vvedenie_v_Veb_programmirovanien_2

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

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

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

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

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

var n = j = k = 2;

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

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

При этом оператор сложения "+" является перегружаемым, при работе со строками он означает конкатенацию последних, например

s = "str1" + "str2"

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

Var x=”5”*”20”;//100

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

В языке 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 могут применяться во всех циклах, первый служит для перехода к следующей итерации в цикле, второй для выхода из цикла.