[{{mminutes}}:{{sseconds}}] X
Пользователь приглашает вас присоединиться к открытой игре игре с друзьями .
JavaScript. Руководство.
(1)       Использует 31 человек

Комментарии

Ни одного комментария.
Написать тут
Описание:
нарезка
Автор:
Alexismoon
Создан:
24 августа 2015 в 05:42 (текущая версия от 13 октября 2015 в 21:32)
Публичный:
Нет
Тип словаря:
Книга
Последовательные отрывки из загруженного файла.
Содержание:
4739 отрывков, 2508660 символов
1 Все объекты в JavaScript имеют методы:
var a = []; // Создать пустой массив
a.push(1,2,3); // Метод push() добавляет элементы в массив
a.reverse(); // Другой метод: переставляет элементы в обратном порядке
// Можно определять собственные методы. Ключевое слово "this" ссылается на объект,
// в котором определен метод: в данном случае на массив points.
points.dist = function() { // Метод вычисления расстояния между точками
var p1 = this[0]; // Первый элемент массива, относительно которого вызван метод
var p2 = this[1]; // Второй элемент объекта "this"
var a = p2.x-p1.x; // Разность координат X
var b = p2.y-p1.y; // Разность координат Y
return Math.sqrt(a*a + // Теорема Пифагора
b*b); // Math.sqrt() вычисляет корень квадратный
};
points.dist() // => 1.414: расстояние между 2-мя точками
Теперь, как было обещано, рассмотрим несколько функций, которые демонстрируют применение наиболее часто используемых управляющих инструкций JavaScript:
// В JavaScript имеются условные инструкции и инструкции циклов, синтаксически
// похожие на аналогичные инструкции C, C++, Java и в других языках.
2 function abs(x) { // Функция, вычисляющая абсолютное значение
if (x >= 0) { // Инструкция if ...
return x; // выполняет этот код, если сравнение дает true.
} // Конец предложения if.
else { // Необязательное предложение else выполняет свой код,
return -x; // если сравнение дает значение false.
} // Фигурные скобки можно опустить, если предложение
// содержит 1 инструкцию.
} // Обратите внимание на инструкции return внутри if/else.
3 function factorial(n) { // Функция, вычисляющая факториал
var product = 1; // Начать с произведения, равного 1
while(n > 1) { // Повторять инструкции в {}, пока выраж. в () истинно
product *= n; // Сокращенная форма выражения product = product * n;
n--; // Сокращенная форма выражения n = n - 1
} // Конец цикла
return product; // Вернуть произведение
}
factorial(4) // => 24: 1*4*3*2
function factorial2(n) { // Другая версия, использующая другой цикл
var i, product = 1; // Начать с 1
for(i=2; i <= n; i++) // i автоматически увеличивается с 2 до n
product *= i; // Выполнять в каждом цикле. {} можно опустить,
// если тело цикла состоит из 1 инструкции
return product; // Вернуть факториал
}
factorial2(5) // => 120: 1*2*3*4*5
JavaScript – объектно-ориентированный язык, но используемая в нем объектная модель в корне отличается от модели, используемой в большинстве других языков.
4 В главе 9 «Классы и модули» детально рассматривается объектно-ориентированное программирование на языке JavaScript на большом количестве примеров; эта глава является одной из самых больших в книге. Ниже приводится очень простой пример, демонстрирующий определение класса JavaScript для представления точек на плоскости. Объекты, являющиеся экземплярами этого класса, обладают единственным методом с методом r(), который вычисляет расстояние между данной точкой и началом координат:
// Определение функции-конструктора для инициализации нового объекта Point
function Point(x,y) { // По соглашению имя конструкторов начинается с заглавного символа
this.x = x; // this - ссылка на инициализируемый объект
this.y = y; // Сохранить аргументы в свойствах объекта
} // Ничего возвращать не требуется
// Чтобы создать новый экземпляр, необходимо вызвать функцию-конструктор
// с ключевым словом "new"
var p = new Point(1, 1); // Точка на плоскости с координатами (1,1)
// Методы объектов Point определяются за счет присваивания функций свойствам
// объекта-прототипа, ассоциированного с функцией-конструктором.
5 Point.prototype.r = function() {
return Math.sqrt( // Вернуть корень квадратный от x2 + y2
this.x * this.x + // this - это объект Point, относительно которого...
this.y * this.y // ...вызывается метод.
);
};
// Теперь объект p типа Point (и все последующие объекты Point) наследует метод r()
p.r() // => 1.414...
Глава 9 является кульминацией первой части, а главы, которые следуют за ней, связывают некоторые оборванные концы и завершают исследование базового языка.
6 В главе 10 «Шаблоны и регулярные выражения» описывается грамматика регулярных выражений и демонстрируются приемы использования регулярных выражений для реализации сопоставления с текстовыми шаблонами. В главе 11 «Подмножества и расширения JavaScript» рассматриваются подмножества и расширения базового языка JavaScript. Наконец, прежде чем перейти к исследованию клиентского JavaScript в веб-броузерах, в главе 12 «Серверный JavaScript» будут представлены два способа использования JavaScript за пределами веб-броузеров.
7 1.2. Клиентский JavaScript
Изучение клиентского JavaScript представляет собой задачу, нелинейную из-за перекрестных ссылок в значительно меньшей мере, чем базовый язык, и поэтому вполне возможно изучать особенности использования JavaScript в веб-броузерах в линейном порядке. Возможно, вы взялись за чтение этой книги, чтобы изучить клиентский JavaScript – тему далекой второй части, поэтому здесь мы приводим краткий обзор основных приемов программирования клиентских сценариев, который сопровождается подробным примером.
8 Глава 13 «JavaScript в веб-броузерах» является первой главой второй части, в которой описываются детали использования JavaScript в веб-броузерах. Самое важное, что вы узнаете в этой главе, – программный код JavaScript может встраиваться в HTML-файлы с помощью тега <script>:
<html>
<head>
<script src="library.js"></script> <!-- подключить библиотеку JavaScript -->
</head>
<body>
<p>Это абзац HTML</p>
<script>
// Это некоторый программный код на клиентском JavaScript,
// встроенный непосредственно в HTML-файл
</script>
<p>Далее опять следует разметка HTML.</p>
</body>
</html>
Глава 14 «Объект Window» исследует приемы управления веб-броузером и описывает некоторые наиболее важные глобальные функции клиентского JavaScript.
9 Например:
<script>
function moveon() {
// Вывести модальный диалог, чтобы получить ответ пользователя
var answer = confirm("Ready to move on?");
// Если пользователь щелкнул на кнопке "OK", заставить броузер загрузить новую страницу
if (answer) window.location = "http://google.com";
}
// Запустить функцию, объявленную выше, через 1 минуту (60000 миллисекунд).
setTimeout(moveon, 60000);
</script>
Обратите внимание, что примеры программного кода на клиентском JavaScript в этом разделе длиннее примеров на базовом языке, которые мы видели выше в этой главе.
10 Эти примеры не предназначены для ввода в окне консоли Firebug (или в другом подобном инструменте). Однако вы можете вставлять их в HTML-файлы и затем запускать, открывая файлы в веб-броузере. Так, пример, приведенный выше, является самостоятельным HTML-файлом.
Глава 15 «Работа с документами» переходит к исследованию фактической работы, выполняемой с помощью JavaScript на стороне клиента, – управлению содержимым документа HTML.
 

Связаться
Выделить
Выделите фрагменты страницы, относящиеся к вашему сообщению
Скрыть сведения
Скрыть всю личную информацию
Отмена