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

Оператор with

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

with (object) {

выражения

}

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

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

<script type="text/javascript">

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

color = "red";

fontSize = "20px";

fontFamily = "Arial";

letterSpacing = "5px";

}

</script>

Оператор switch

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

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

break;

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

break;

...

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

break;

default: выражение

}

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

Метод eval()

Метод выполняет JavaScript код, переданный ему строкой в качестве параметра.

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

<body>

<input type="text" id="calc" />

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

onclick=

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

</body>

Функции

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

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

список выражений;

return(значение)

}

Параметры в списке разделяются запятыми и могут отсутствовать. Например:

function hello() {

alert(“Hello, World!”)

}

hello();

//выведет на экран фразу «Hello, World!»

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

Для выхода из функции и возврата значения в вызвавшее эту функцию выражение используется оператор return.

function sumIt(arg1, arg2, arg3) {

var res = arg1 + arg2;

if (arg3) res = res + arg3;

return res;

}

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

alert(sumIt(x,y,z));

//выведет на экран 6

alert(sumIt(x,y));

//выведет на экран 3, прибавление третьего параметра к результату не производится, так как проверяется его наличие. Если такой проверки нет, то возникнет ошибка

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

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

function passByVal(arg1) {

var arg1 = 10;

}

var x = 5;

passByVal(5);

alert(x);

//выведет на экран число 5, так как параметр передавался по значению

function passByRef(arr1) {

arr1[0] = "NEW";

}

var y = ["first", "second"];

passByRef(y);

alert(y);

//выведет на экран «NEW, second», так как параметр передавался по ссылке, и значение первого элемента массива изменилось в основной части скрипта

Глобальные и локальные переменные

В языке JavaScript существует два набора переменных: глобальные, которые видны во всем документе во время выполнения скрипта, и локальные, которые объявляются внутри функций. Глобальные переменные также видны внутри функций. Глобальные переменные могут объявляться внутри функций, при этом перед именем переменной ключевое слово var не ставится.

Все глобальные переменные принадлежат объекту window. Если переменная не определена и к ней обращаться напрямую, это вызовет ошибку выполнения скрипта, а если к переменной обращаться как к свойству объекта window, то будет возвращено значение undefined.

function myFunc() {

var x = "local";

y = "global";

}

myFunc();

alert(window.x);

//вернет undefined

alert(y);

//вернет слово global

alert(x);

//вызовет ошибку выполнения скрипта

Объектная модель

В JavaScript используются следующие виды объектов:

пользовательские объекты – это объекты, которые создаём мы сами с помощью конструктора объекта Object;

встроенные объекты языка JavaScript String – строка текста; Array – массив; Date – дата и время; Math – математические функции; Object – содержит конструктор для создания пользовательских объектов;

объекты браузера – создаются автоматически при загрузке документа в браузер:

window – объект верхнего уровня в иерархии объектов браузера;

document – содержит свойства, которые относятся к текущему HTML-документу;

location – содержит свойства, описывающие местонахождение текущего документа, например адрес URL;

navigator – содержит информацию о версии браузера;

history – содержит информацию обо всех ресурсах, к которым пользователь обращался во время текущего сеанса;

объекты, связанные с тегами HTML и стилями CSS – в JavaScript большинству тэгов HTML и стилей CSS соответствуют свойства объекта document, которые сами также являются объектами;