- •23. Условные выражения. Описание условных выражений в JavaScript.
- •If (условие)
- •If (условие 1) {
- •24. Использования Java Script для реализации контроля заполнения элементов пользовательских форм html-документа.
- •25. Работа с повторяющимися задачами. Использование циклов в Java Script.
- •26. Работа с повторяющимися задачами. Использование функций в Java Script.
25. Работа с повторяющимися задачами. Использование циклов в Java Script.
Цикл For
For - это самый простой и наглядный цикл в JavaScript. For - это цикл с параметром, который принято называть счётчик. Счётчик устанавливается для того, чтобы цикл сделал определённое количество итераций(иными словами - исполнил те команды, которые мы ему задали столько разов, сколько мы скажем в счётчике). Это и является основным его недостатком - нужно наперёд знать, сколько итераций нам нужно, чтобы добиться желаемого результата.
Давайте рассмотрим синтаксис и пример цикла for:
for ([а]; [b]; [c])
{
//между этими скобками нужно написать команды цикла
}
На место [а] можно записать не только начальное значение счётчика, но и выражение (включая и оператор присваивания) или же объявить новую переменную. В этом условии можно объявлять новую счётчик-переменную при помощи оператора var. Эта переменная не может быть локальной переменной самого цикла, она видна, и её можно использовать во всей области "видимости".
[b] - это выражение, которое будет вычисляться циклом между итерациями. Если оно верное (true), то цикл выполняет следующую итерацию, иначе - цикл заканчивается, управление программой переходит дальше, уже вне цикла, вызывая последующие за циклом операторы и команды.
[c] - это выражение, которое будет вычисляться циклом в конце завершения каждой итерации, перед проверкой второго условия - [b]. Обычно оно используется для увеличения(уменьшения) переменной-счетчика. Рассмотрим такие примеры цикла for:
//for со счетчиком
for (var i = 0; i < 10; i++) {
n += i;
}
//бесконечный цикл с выходом изнутри
for(;;) {
...
if (какое-то условие) break;
}
do while
Создает цикл с проверкой условия, выполняющееся после каждой итерации. Рассмотрим его синтаксис:
do {
statement; }
while (condition)
statement - это простой блок или же вызов javascript-а, который выполняется, пока условие condition верно.
condition - это выражение, которое вычисляется циклом каждый раз во время итерации. Если оно будет верно, statement выполняется еще раз, если же нет - выполняются операторы, стоящие после do while. Например:
i = 0;
do
{
i += 1;
document.write(i)
}
while (i < 9)
while
While - это цикл, который будет выполнятся до тех пор, пока эго условие верно(true). Условие проверяется перед каждой итерацией. Рассмотрим синтаксис:
while (condition)
statement
// например, цикл повторяется, пока n будет меньше 5:
n = 0
x = 0
//желательно инициализировать переменные цикла до него самого, или же с
помощью var в цикле.
while (n < 5) {
n ++
x += n
alert("n="+n+", x="+x)
}
26. Работа с повторяющимися задачами. Использование функций в Java Script.
Функция - это именованная последовательность операторов, которая инициализируется и выполняется простой ссылкой на имя функции. Синтаксис задания функций в JavaScript следующий:
function имя_функции([формальные_параметры]) {
[операторы]
[return выражение]
}
Вызов в сценарии:
имя_функции(список_фактических_параметров)
Функция JavaScript всегда возвращает некоторое значение. Для явного указания возвращаемого значения используется операция return. Ее операнд определяет возвращаемое функцией значение.
Пример вычисления факториала с использованием вызова функции.
В нашем сценарии пользователь через диалоговое окно, отображаемое методом prompt() объекта window, передает целое число, факториал которого следует вычислить. Осуществляется проверка введенного числа и вызывается рекурсивная функция factorial(). Полный текст сценария приводится ниже:
<script>
function factorial(n) {
if ((n == 0) || (n == 1))
return 1
else
return n * factorial(n-1)
}
x = window.prompt("Введите целое число","")
if (x = Number(x)){
alert(factorial(x))
}
else
alert("Следует ввести целое число!")
</script>
27. Объектное программирование на Java Script.
Javascript является объектно-ориентированным языком. Объектный подход в нём основан на прототипах. В отличие от других объектно-ориентированных языков, в js существует только одно понятие-объект, являющийся основой реализации объектно-ориентированного подхода в нём. Объект в javascript представляет собой обычный ассоциативный массив или, иначе говоря, "хэш". Он хранит любые соответствия "ключ => значение" и имеет несколько стандартных методов.
var o = new Object(), var o = {} Эквивалентные записи
Метод объекта в javascript - это просто функция, которая добавлена в ассоциативный массив. Методы отличаются от обычных функций тем, что могут ссылаться на объект, которому принадлежат, с помощью ключевого слова this.
function f() {var prop=this.Property_0;}Получение значения свойства.
При создании объекта, наследование реализуется через неявную (внутреннюю) ссылку одного объекта на другой, который называется его прототипом и в спецификации обозначается[[prototype]]. Это свойство обычно скрыто от программиста. Также существует свойство с похожим названием prototype (без квадратных скобок) - оно вспомогательное и указывает, откуда брать прототип при создании объекта. Ссылка на прототип создается оператором new во время создания объекта. Прототип работает как резервное хранилище свойств. Если свойства нет у объекта - оно ищется в его прототипе. Получается наследование.
Когда вы ставите функции Animal свойство Animal.prototype = XXX - вы этим декларируете: "все новые объекты класса Animal будут иметь прототип XXX".
Свойства объекта. Псевдополя (параметры объекта, не все, а только необходимые в программе задающие его состояние), доступные для чтения и/или записи. Есть два синтаксиса добавления свойств в объект. Первый - точка, второй - квадратные скобки:
o.test = 5, o["test"] = 5 эквивалентные записи
Что нужно знать для ответа на вопрос:
ООП - объектно-ориентированное программирование. парадигма программирования, в которой основными концепциями являются понятия объектов и классов (либо, в менее известном варианте языков с прототипированием, — прототипов).
Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности, т. е. объекта.
Объект — сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса (например, после запуска результатов компиляции (и связывания) исходного кода на выполнение).
Прототип — это объект-образец, по образу и подобию которого создаются другие объекты.
Абстрагирование – это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция – это набор всех таких характеристик.
Инкапсуляция – это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.
Наследование – это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс – потомком, наследником или производным классом.
Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
28. Организация поиска и извлечения, данных средствами Java Script. Использование регулярных выражений.
Регулярное выражение представляет собой строку символов, содержащую определённые синтаксические конструкции (метасимволы), которая может интерпретироваться различными программными средствами в качестве шаблона при выполнении операции обработки текста (например, поиск фрагментов текста или их замена) в javascript поддержка регулярных выражений осуществляется встроенными средствами.
Регулярное выражение состоит из шаблона и флагов. Шаблон является основой регулярного выражения, определяющий критерий поиска, а флаги задают параметры сопоставления шаблона. Задача создания регулярного выражения сводится к написанию шаблона.
Шаблон регулярных выражений состоит из последовательностей литеральных и специальных символов (метасимволов).
При поиске на основе регулярных выражений последовательность литеральных символов сопоставляются идентичным последовательностям в строке поиска (прямые совпадения), такие шаблоны называются простыми. Пример: /code/ совпадение произойдет в строках “I am coder”
Метасимволы позволяют вводить в шаблон конструкции, сопоставляющиеся с множеством возможных последовательностей символов. Пример /a\d+b/ в строке “aaa a4564b cc” сопоставится с подстрокой a4564b. В данном шаблоне a вначале и b в конце являются литеральными символами, а \d и + специальными. Последовательность \d соответствует любому одиночному цифровому символу, а + что этих символов может быть больше 1.
Так же существую флаги-задающие параметры поиска на основе шаблона. Возможны 3 флага. g-глобальный поиск (прерывается при первом удачном сопоставлении), i- поиск без учёта регистра, m-многострочный поиск.