Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

// которые можно вызывать многократно.

function plus1(x) { // Определить функцию с именем "plusr и с параметром "х"

return х+1; // Вернуть значение на 1 больше полученного

} // Функции заключаются в фигурные скобки

plus1(y) // => 4: у имеет значение 3, поэтому этот вызов вернет 3+1

var square = function(x) { //
Функции можно присваивать переменным

return х*х; // Вычислить значение функции

}; // Точка с запятой отмечает конец присваивания.

square(plus1(y)) // => 16: вызов двух функций в одном выражении

При объединении функций с объектами получаются методы.

// Функции, присвоенные свойствам объектов, называются методами.

// Все объекты в JavaScript имеют методы:

var а = []; // Создать пустой массив

а.push(1,2,3); // Метод push добавляет элементы в массив

a.reverse; // Другой метод: переставляет элементы в обратном порядке

// Можно определять собственные методы. Ключевое слово "this" ссылается на объект,

// в котором определен метод: в данном случае на массив points,

points.dist = function { // Метод вычисления расстояния между точками

var р1 = this[0]; // Первый элемент массива, относительно которого вызван метод

var р2 = this[1]; // Второй элемент объекта "this"

var а = р2.х-р1.х; // Разность координат X

var b = р2.у-р1.у; // Разность координат Y

return Math.sqrt(a*a + // Теорема Пифагора

b*b); // Math.sqrtO вычисляет корень квадратный

};

points.dist // => 1.414: расстояние между 2-мя точками

Теперь, как было обещано, рассмотрим несколько функций, которые демонстрируют применение наиболее часто используемых управляющих инструкций JavaScript:

// В JavaScript имеются условные инструкции и инструкции циклов, синтаксически

// похожие на аналогичные инструкции С, C++, Java и в других языках.

function abs(x) { // Функция, вычисляющая абсолютное
значение

if (х >= 0) { // Инструкция if ...

return х; // выполняет этот код, если сравнение дает true.

} // Конец предложения if.

else { // Необязательное предложение else выполняет свой код,

return -x; // если сравнение дает значение false.

} // Фигурные скобки можно опустить, если предложение

// содержит 1 инструкцию.

} // Обратите внимание на инструкции return внутри if/else.

function factorial(n) { // Функция, вычисляющая факториал

var product = 1; // Начать с произведения, равного 1

while(n > 1) { // Повторять инструкции в {}, пока выраж. в истинно

product *= n; // Сокращенная форма выражения product = product * n;

n--; // Сокращенная форма выражения n = п - 1

} // Конец цикла

return product; // Вернуть произведение

}

factorial(4) // => 24: 1*4*3*2

function factorial2(n) { // Другая версия, использующая другой цикл

var і, product = 1; // Начать с 1

for(i=2; і <= n; i++) // і автоматически увеличивается с 2 до n

product *= i; // Выполнять в каждом цикле. {} можно опустить,

// если тело цикла состоит из 1 инструкции

return product; // Вернуть факториал

}

factorial2(5) // => 120: 1*2*3*4*5

JavaScript - объектно-ориентированный язык, но используемая в нем объектная модель в корне отличается от модели, используемой в большинстве других языков. В главе 9 «Классы и модули» детально рассматривается объектно-ориентированное программирование на языке JavaScript на большом количестве примеров; эта глава является одной из самых больших в книге. Ниже приводится очень простой пример, демонстрирующий определение класса JavaScript для представления точек на плоскости. Объекты, являющиеся экземплярами этого класса, обладают единственным методом с методом r, который вычисляет расстояние между данной точкой и началом координат:

Поделиться:
Популярные книги

Барон нарушает правила

Ренгач Евгений
3. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон нарушает правила

Темный Лекарь 7

Токсик Саша
7. Темный Лекарь
Фантастика:
попаданцы
аниме
фэнтези
5.75
рейтинг книги
Темный Лекарь 7

Первый среди равных

Бор Жорж
1. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных

Отмороженный 13.0

Гарцевич Евгений Александрович
13. Отмороженный
Фантастика:
боевая фантастика
попаданцы
рпг
фантастика: прочее
фэнтези
5.00
рейтинг книги
Отмороженный 13.0

Последний реанорец. Том IV

Павлов Вел
3. Высшая Речь
Фантастика:
фэнтези
5.20
рейтинг книги
Последний реанорец. Том IV

Дракон - не подарок

Суббота Светлана
2. Королевская академия Драко
Фантастика:
фэнтези
6.74
рейтинг книги
Дракон - не подарок

Купец из будущего 2

Чайка Дмитрий
2. Третий Рим
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Купец из будущего 2

Бригадир

Вязовский Алексей
1. Бригадир
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Бригадир

Ученик

Вайт Константин
2. Аннулет
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Ученик

Лейтенант. Назад в СССР. Книга 8. Часть 1

Гаусс Максим
8. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Лейтенант. Назад в СССР. Книга 8. Часть 1

Совершенный: пробуждение

Vector
1. Совершенный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Совершенный: пробуждение

Приручитель женщин-монстров. Том 15

Дорничев Дмитрий
15. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
постапокалипсис
5.00
рейтинг книги
Приручитель женщин-монстров. Том 15

Жена неверного маршала, или Пиццерия попаданки

Удалова Юлия
Любовные романы:
любовно-фантастические романы
4.25
рейтинг книги
Жена неверного маршала, или Пиццерия попаданки

Наемный корпус

Вайс Александр
5. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Наемный корпус