Государственное бюджетное профессиональное
образовательное учреждение
«Нижегородский автомеханический техникум»
Основы программирования
на JavaScript
Методическое пособие для студентов
специальности 09.02.03
«Программирование в компьютерных системах»

Нижний Новгород
2016
ВСТРОЕННЫЕ ОБЪЕКТЫ
Объект – это сложный тип данных, включающий в себя множество переменных – свойств – и набор функций для манипуляции этими переменными – методов. Свойства хранят данные, а методы их обрабатывают. Объект обычно обладает набором свойств, которые описывают внешний вид или поведение объекта или какую-либо информацию о нем.
События – это способ, с помощью которого объект сообщает что произошло.
Таким образом, объект можно рассматривать как отдельный, независимый от других фрагмент программы, выполняющий довольно сложные действия.
Объект отличается от других типов данных тем, что для использования его нужно создать экземпляр соответствующего класса объекта. При этом класс – это своего рода тип объекта, аналогичный типу переменной, а экземпляр - конкретный объект, с которым можно работать. Создается экземпляр объекта с помощью оператора new; при этом ссылка на объект присваивается переменной. Ссылка (или указатель) отмечает место в памяти, где находится созданный экземпляр объекта. Используя ссылку, хранящуюся в переменной, можно обращаться к объекту.
Var obj;
Obj = new SomeObject();
Здесь obj – переменная, которой будет присвоена ссылка на созданный экземпляр объекта, а SomeObject – класс создаваемого объекта.
После использования объекта его можно удалить. Для этого можно воспользоваться оператором Delete.
Delete obj;
Для доступа к свойствам объекта можно использовать следующий формат вызова:
Имя переменной, хранящей ссылку на объект. Имя свойства
Свойства аналогичны обычным переменным. Они имеют имена и значения. Некоторые свойства доступны только для чтения. Их значения нельзя изменять. Другие свойства доступны и для записи – их значения можно изменять с помощью оператора присваивания.
Метод вызывается почти так же:
Имя переменной, хранящей ссылку на объект. Имя метода ([параметры])
Методы аналогичны функциям, они могут иметь параметры или не иметь их.
Объект можно присвоить элементу массива и передать в функции. При этом внутри тела функции разрешается изменять его свойства и вызывать методы.
String (Строка)
Объект, представляющий строку. Строка является набором алфавитно-цифровых символов. Для создания строкового объекта используется выражение:
имя_переменной = new String(“строковое_значение”)
имя_переменной выполняет роль ссылки на строковый объект.
Например, выражение mystring = new String (“Привет!”) создает строковый объект mysrting со значением «Привет!»
Методы String форматирования строк:
Bold(), Fontcolor(цвет) Fontsize(1-7) italics() big() small() sub() sup() link() anchor(“имя”) | Пример: “Привет, всем!”.bold() // жирным шрифтом “Страница автора”.link(“Http://www.admiral.ru”) /* эквивалентно коду HTML: a href = “Http://www.admiral.ru”Страница автораa */ |
Свойства:
length – возвращает длину строки (количество символов, включая пробелы; целое число).
Пример:
“Иван”.length // значение равно 4
prototype – свойство (прототип), позволяет добавлять новые свойства в экземпляр объекта String.
Пример:
Function myFunc()
{
return “Николаевна”
}
string.prototype.myName() = myFunc
mystring = “Преподаватель - ” + “Татьяна ”.myName()
/* значение mystring равно «Преподаватель –Татьяна Николаевна» */
Методы объекта STRING
Метод | Описание |
charAt(n) | возвращает символ строки, расположенный по заданному индексу. Синтаксис: строка.charAt(индекс). Возвращает односимвольную или пустую строку. Параметр (индекс) является числом, индекс первого символа = 0. Пример: “Привет”.charAt(2) //значение равно “и” “При вет”.charAt(15) // значение равно “ ” mystring = “Привет” mystring.charAt(mystring.length - 1) //значение последнего символа равно “ т” |
charCodeAt([индекс]) | преобразует символ в указанной позиции строки в его числовой эквивалент (код). Синтаксис: строка.charCodeAt([индекс]). Возвращает число. |
fromCharcode(n) | возвращает строку символов, числовые коды которой указаны в качестве параметров |
concat(строка) | связывает две переданные строки в одну новую Синтаксис: строка1.concat(строка2). Возвращает строку. Пример: “Иван ”.concat(“Иванов”) /* значение равно “Иван Иванов” */ |
indexOf(строка_поиск [, индекс]) | возвращает позицию первого вхождения строки |
lastIndexOf(строка_поиск [, индекс]) | производит поиск строки, указанной параметром, и возвращает индекс ее первого вхождения; при этом поиск начинается с конца исходной строки, но возвращаемый индекс отсчитывается от ее начала, т.е. от 0 |
slice(n1,n2) | возвращает часть строки между заданной начальной и конечной позициями. При передаче отрицательного числа отсчет будет выполняться с конца строки |
Split(разделитель [, ограничитель]) | возвращает массив элементов, полученных из исходной строки |
Substr(индекс[, длина]) | возвращает подстроку исходной строки, начальный индекс и длина которой указываются параметрами |
substring(n1,n2) | возвращает часть строки между начальной и конечной позициями. При задании отрицательного значения, положительное берет за конечное, а вместо отрицательного – 0 |
toLowerCase(s) | преобразует символы исходной строки в нижний регистр |
toUpperCase(s) | преобразует символы исходной строки в верхний регистр |
Array (Массив)
Массив представляет собой упорядоченный набор данных. Его удобно представить в виде одностолбцовой таблицы, содержащей некоторое количество строк. В ячейках такой таблицы могут находиться данные любого типа, в том числе и массивы. Количество элементов в массиве (строк в таблице) называется длинной массива. К элементам массива можно обращаться в программе по их порядковому номеру (индексу). Нумерация элементов массива начинается с нуля.
Синтаксис создания массива:
Имя_массива =new Array([длина_массива])
Если длина_массива не указана, то создается пустой массив, не содержащий ни одного элемента.
Создать массив можно:
1. Присвоить значения его элементам, используя для этого оператор присваивания. В левой части оператора присвоения указывается имя массива, а рядом с ним в квадратных скобках индекс элемента.
Пример: массив earth, содержащий в качестве элементов некоторые характеристики нашей планеты. Элементы в этом массиве различных типов (строковые и числовые).
earth = new Array(4) // массив из 4 элементов
earth[0] = “Планета”
earth[1] = “24 часа”
earth[2] = 6378
earth[3] = 365.25
earth.length // значение равно 4
2. Определить элементы в круглых скобках за ключевым словом Array.
Пример:
earth = new Array(“Планета”, “24 часа”, 6378, 365.25)
JavaScript автоматически создает индексы для элементов массива, так что к элементам массива также можно обращаться по индексам.
3. Присвоить имя каждому элементу, подобно имени свойства объекта.
Пример:
earth = New Array() //пустой массив
earth.xtype = “Планета”
earth.xday = “24 часа”
earth.radius = 6378
earth.period = 365.25
В этом случае обращение к элементу происходит как к свойству объекта. По индексу к элементам в таком массиве обращаться нельзя.
Свойства:
length – возвращает количество элементов массива.(целое) (имя_массива.length)
prototype – свойство (прототип) позволяет добавлять новые методы к экземплярам объекта.
Методы:
concat(n1,n2…) | конкатенация - соединяет несколько массивов. Синтаксис: имя_массива1.concat(массив2) |
join(разделитель) | соединяет все элементы массива в одну строку, вставляя разделитель между ними. Синтаксис: имя_массива.join(строка) |
pop() | удаляет последний элемент массива и возвращает его значение. Синтаксис: Имя_массива.pop() |
push(значение|объект) | добавляет к массиву указанное значение в качестве последнего элемента и возвращает новую длину массива. Синтаксис: Имя-массива.push(значение|объект) |
shift() | удаляет первый элемент массива и возвращает его значение. Синтаксис: Имя-массива.shift() |
unshift(значение|объект) | добавляет первый элемент массива. Синтаксис: Имя-массива.unshift(значение|объект) |
toString() | преобразует элементы массива в строку |
reverse() | изменяет порядок следования элементов в массиве (переворачивает) |
slice(n1,n2) | возвращает часть массива от n1 номера до n2 |
sort([Функция сортировки]) | сортирует элементы в массиве. Синтаксис: Имя_массива.sort([Функция сортировки]) |
Boolean (Логический)
Применяется для преобразования значений, не относящихся к логическому типу, в значения логического типа. В конечном итоге с этим объектом можно работать как с обычным значением логического типа.
Создается с помощью выражения:
Переменная =new Boolean (логическое_значение)
Параметр логическое_значение определяет начальные установки объекта. Если параметр имеет значение false, 0 null или пропущен, то принимается значение false.
Метод: toString() и значение Of(). Свойство: prototype.
Number (Число)
Служит для хранения числовых значений. В действительности объект используется, если необходимо получить доступ к определенным значениям констант. Часто его экземпляры создаются, если к ним необходимо добавить свойство или метод.
Объект Number создается с помощью выражения вида:
переменная = new Number(число)
Доступ к свойствам и методам строкового объекта обеспечивается такими выражениями:
число.свойство
Number.свойство
число.метод ([параметры])
Number.метод([параметры])
Методы:
toString() – возвращает строковое представление заданного объекта Number.
toExponential(количество) –представляет число в экспоненциальной форме.
toFixed(количество) – представляет число с фиксированным количеством цифр после точки.
valueOf() – возвращает значение объекта Number как числовой тип данных.
Свойства:
MAX_VALUE – максимальное число в JavaScript (1.7976931348623157e+308 )
MIN_VALUE – минимальное число в JavaScript (5e-324 )
NaN – специальное нечисловое значение.
POSITIVE_INFINITY – специальное значение плюс бесконечности, возвращаемое в случае переполнения. Число больше чем Number.MAX_VALUE
NEGATIVE_INFINITY – специальное значение минус бесконечности, возвращаемое в случае переполнения.
Число меньше чем Number.MIN_VALUE
prototype – позволяет добавлять новые методы к экземплярам объекта.
Math (Математика)
Объект Math предназначен для хранения математических констант (например, число π) и выполнения преобразований чисел с помощью типичных математических функций. Доступ к свойствам и методам объекта Math обеспечивается следующими выражениями:
Math.свойство
Math.метод(параметры)
Методы:
abs(n) – возвращает абсолютное значение числа.
acos(n) – возвращает значение арккосинуса для аргумента, выраженное в радианах.
asin(n) - возвращает значение арксинуса для аргумента, выраженное в радианах.
atan(n) - возвращает значение арктангенса для аргумента, выраженное в радианах.
atan2(n) - возвращает значение арктангенса для частного от деления аргументов, выраженное в радианах.
ceil(n) – округляет число вверх до ближайшего целого.
cos(n) – возвращает косинус для переданного значения.
exp(n) – возвращает экспоненту в степени число.
floor(n) – округляет число вниз до ближайшего целого.
log(n) – возвращает натуральный логарифм переданного числа.
max(x,y) – возвращает максимальное число из двух переданных значений.
min(x,y) – возвращает минимальное число из двух переданных значений.
pow(x,y) – возвращает результат возведения в степень первого переданного в качестве аргумента числа в степень второго.
random() – возвращает случайное число между 0 и 1.
round(n) – возвращает значение, округленное до ближайшего целого.
sin(n) – возвращает синус числа.
sqrt(n) – возвращает квадратный корень переданного числа.
tan(n) – возвращает тангенс числа.
Свойства объекта Math имеют в качестве своих значений математические константы.
E – константа Эйлера.
LN2 – натуральный логарифм числа 2.
LN10 – натуральный логарифм числа 10.
LOG2E – логарифм E по основанию 2.
LOG10E – логарифм Е по основанию 10.
PI – число Пи
SQRT1_2 – квадратный корень из 0,5.
SQRT – квадратный корень из 2.
Date (Дата)
С помощью объекта Date() в JavaScript можно работать со значениями даты и времени.
имяОбъектаДаты = new Date([параметры])
Параметры, необходимые для создания объекта Date():
Параметры отсутствуют – создается объект с текущими датой и временем.
«месяц дд,гггг чч:мм:сс» - создается объект с указанными датой и временем. Пропущенные значения считаются нулевыми.
«гг,мм,дд» - создает объект с указанной датой из набора целочисленных значений.
«гг,мм,дд,чч,мм,сс» - создает объект с указанной датой и временем из набора целочисленных значений.
GMT – время по Гринвичу.
Чтобы применить метод метод() к объекту даты имяОбъектаДаты, следует написать:
имяОбъектаДаты.метод([параметры])
Методы:
Метод | Описание |
getYear() | возвращает год |
getMonth() | возвращает месяцы года (0-11) |
getDate() | возвращает день месяца (1-31) |
getDay() | возвращает день недели (0-6) |
getHours() | возвращает час суток (0-23) |
getMinutes() | возвращает минуты (0-59) |
getSeconds() | возвращает секунды (0-59) |
getTime() | количество миллисекунд, начиная с 1/1/1970 00:00:00 GMT |
getMilliseconds() | возвращает миллисекунды, начиная с 1/1/1970 00:00:00 GMT |
getUTCFullYear() | Год UTC |
getUTCDate() | Число UTC (1 - 31) |
getUTCDay() | день недели, преобразованный к универсальному времени. |
getUTCHours() | Часы UTC в 24-часовом формате (0 - 23) |
getUTCMinutes() | Минуты UTC (0 - 59) |
getUTCSeconds() | Секунды UTC (0 - 59) |
setYear(знач) | устанавливает количество лет, начиная с 1900г. |
setFullYear(знач) | устанавливает год как четырехзначное число |
setMonth(знач) | устанавливает месяц в году (0-11) |
setDate(знач) | устанавливает день месяца (1-31) |
setDay(знач) | Установка дня недели (воскресенье = 0) |
setHours(знач) | устанавливает часы дня (0-23) |
setMinutes(знач) | устанавливает минуты в часе |
setSeconds(знач) | устанавливает секунды в минуте (0-59) |
setMilliseconds(знач) | устанавливает миллисекунды |
setTime(знач) | устанавливает количество миллисекунд, начиная с 1/1/1970 |
getTimeZoneOffset(знач) | смещение часового времени в мин. по отношению к GMT |
toGMTString(знач) | Строка с датой и временем в глобальном формате |
toLocaleString(знач) | Строка с датой и временем в локальной системе |
Function (Функция)
Функция создается как экземпляр объекта Function:
имя_функции = new Function ([“параметр1”, [ , “параметрN”], “оператор1; [; ОператорN]”)
Названия этих параметров являются строковыми значениями. Они разделяются запятыми. Заключительная строка содержит операторы кода тела функции, разделенные точкой с запятой.
Вызов функции, определенной как экземпляр объекта Function, можно выполнить обычным способом: имя_функции(параметры)
Следует учесть, что, несмотря на внешнее подобие объекта Function и стандартной функции, они существенно различаются. Имя_функции объекта рассматривается как переменная, представляющая текущее значение функции, определенной в строке new Function, в то время как имя стандартной функции JavaScript переменной не является – это имя функции.
Свойства:
Свойтсва | Описание |
Arguments | Массив значений параметров, переданных функции |
Length | Количество параметров, указанных в определении функции. Синтаксис: имя_функции.length |
Caller | Содержит ссылку на функцию, из которой была вызвана данная функция; если функция не вызывалась из другой функции, то значение этого свойства равно Null. |
Методы:
toString() – возвращает определение функции в виде строки.
Object
Object является корневым объектом, на котором базируются все остальные объекты JavaScript, такие как String, Array, Date и т.д. В программах можно создавать свои собственные объекты. Это можно сделать различными способами.
Способ 1:
Function имя_конструктора([пар1, … [, парN])
{
Код
}
имяОбъекта = New имя_конструктора([“пар1”, … [, “парN”])
Способ 2:
имяОбъека = New Object()
имяОбъекта.свойство = значение
Способ 3:
имяОбъекта = {свойство1: значение1 [, свойство2: значение2 [, … , N]}
Для обращения к свойствам и методам объекта используется следующий синтаксис:
ссылка_на_объект.свойство
ссылка_на_объект.метод([параметры])
Пример: нам требуется создать объект Сотрудник, который содержал бы сведения о сотрудниках некоторой фирмы, такие как Имя, Отдел, Телефон, Зарплата. В фирме может быть много сотрудников, но сведения о них представляются в некоторой единой структуре. Эту структуру можно создать с помощью конструктора объекта:
Function Сотрудник(Имя, Отдел, Телефон, Зарплата)
{
this.Имя = Имя
this.Отдел = Отдел
this.телефон = Телефон
this.Зарплата = Зарплата
}
Ключевое слово this представляет ссылку на текущий, т.е. определяемый конструктором объект. Все операторы присвоения с this, расположенные в теле функции-конструктора, определяют свойства объекта.