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

Оператор with

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

with (object) {

//выражения

}

Пример оператора with:

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

<html>

<body>

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

<script type="text/javascript">

with (document.getElementById("myP").style)

{//установка стиля вывода строки

color = "red"; //цвет красный

fontSize = "20px";

fontFamily = "Arial";

letterSpacing = "5px";

}

</script>

</body>

</html>

Оператор switch

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

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

break;

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

break;

// ...

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

break;

default: выражение

}

Ветка default выполняется, если ни одно из предыдущих условий не выполняется и может отсутствовать.

Метод eval()

Метод выполняет код JavaScript, переданный ему строкой в качестве параметра. Пример реализации простейшего калькулятора приведен ниже:

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

<html>

<body>

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

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

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

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

</body>

</html>

Функции

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

function имя_функции(список_параметров) {

//тело функции-список выражений;

return (значение)

}

Параметры в списке разделяются запятыми и могут отсутствовать. Оператор return используется для выхода из функции и возврата значения в вызвавшее функцию выражение. Возвращаемое значение и сам оператор return могут отсутствовать. Например:

function hello() {

alert(“Hello World!”)

}

hello(); //выведет фразу «Hello World!»

Как и в С++ вызов функции производится следующим образом: name(arglist);

Если в описании функции определено несколько параметров, а при вызове эти параметры функции не передаются, то автоматически неопределенным параметрам присваивается значение undefined. Пример:

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

<html>

<body>

<script type="text/javascript">

function sum(arg1, arg2, arg3) {

var res = arg1 + arg2;

if (arg3){ res = res + arg3;}

else alert(arg3);//Выводит значение undefined

return res;

}

var x = 1; var y = 2; var z = 3;

alert(sum(x,y,z)); //выведет на экран 6

alert(sum(x,y));//выведет 3, прибавление arg3 к res //не производится, так как arg3=undefined.

alert(sum(x));//Выводит значение NaN

</script>

</body>

</html>

Передача параметров по значению и по ссылке

Базовые типы данных (числа, строки, булевы переменные) передаются в функцию в качестве параметров по значению. При этом значение переменной переданной как параметр в функцию не изменится во время выполнения функции. Данные объектных типов, например массивы, передаются по ссылке(адресу) и могут изменяться во время выполнения функции. Пример, иллюстрирующий данное поведение, приведен ниже:

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

<html>

<body>

<script type="text/javascript">

function passval(arg1) {

var arg=5; arg1=arg++;

return arg1;

}

var x = 1; var y = 2;

alert(passval(x)); //выведет в окно 5

alert(x); //выведет 1, значение x не изменится

function passRef(arr1) {

arr1[0] = "NEWfirst";

}

var y = ["first", "second"];//массив

passRef(y);

alert(y);//выведет в окно NEWfirst", second

</script>

</body>

</html>