Встроенные классы JavaScript — Реферат

Содержание

Основные понятия

Класс Number. Работа с числами

Класс Math. Использование математических функций

Класс Function (функции)

Класс Arguments. Функции с произвольным количеством аргументов

Класс RegExp. Проверка значений с помощью регулярных выражений

Список литературы

Основные понятия

Для использования методов и свойств класса чаще всего необходимо создать экземпляр класса. Для этого используется оператор new, после него указывается имя класса, к которому будет относиться данный экземпляр. После имени класса, в круглых скобках, можно передавать некоторые параметры, задавая таким образом начальные значения свойствам класса:
   <Экземпляр класса> = new <Имя класса>   ([<Параметры>]);

При создании экземпляра класса ссылка (указатель) сохраняется в переменной. Используя ссылку, можно обращаться к свойствам и методам созданного экземпляра класса.

При обращении к свойствам используется следующий формат:
   <Экземпляр класса>.<Имя сзойства>;

Обращение к методам осуществляется аналогично, только после имени метода необходимо указать круглые скобки:
   <Экземпляр класса>.<Имя метода>();

В скобках часто указываются параметры метода.

Класс Global

Использование свойств и методов класса Global не требует создания экземпляра класса. Свойства и методы данного класса являются встроенными функциями JavaScript.

Свойства:

NaN содержит значение NaN (Not a Number, не число):

var х = NaN;

infinity возвращает значение «плюс бесконечность»:

var х = Infinity;

Методы:

parseint(<строка>, [<основание>]) преобразует строку в целое число системы счисления, заданной основанием. Если основание не указано, то по умолчанию используется десятичная система. Если строка не может быть преобразована в число, возвращается значение NaN. Например:

var Number1 = 15;

var Str = «5»;

var Str5 = «FF»;

var Str2 = Number1 — parseInt(Str);

// Переменная содержит число 10

var Str3 = Number1 — parseInt(Str5, 16);

// Переменная содержит число -240

var Str4 = Number1 + parseInt(Str);

// Переменная содержит число 20

parseFioat (<строка>) преобразует строку в число с плавающей точкой:

var Str = «5.2»;

var Str2 = parseFloat(Str); // Переменная содержит число 5.2

eval (<строка>) вычисляет выражение в строке, как если бы это было обычное выражение JavaScript:

var Str = «3 + 5»;

var Str2 = eval(Str); // Переменная содержит число 8

isNaN(<выражение>) проверяет, является ли выражение правильным числом. Возвращает true, если значение выражения равно NaN, и false, если выражение возвращает число;

isFinite (<выражение>) проверяет, является ли выражение конечным числом. Возвращает true или false;

escape (<строка>) кодирует строку шестнадцатеричными кодами:

var Str = escape(«Привет»);

// Str = %u041F%u0440%u0438%u0432%u0435%u0442

unescape(<Строка>) декодирует строку, закодированную методом escape ():

var Str = unescape(«%u041F%u0440%u0438%u0432%u0435%u0442»);

// Str = Привет (1)

encodeURI (<URL-адрес>) кодирует URL-адрес целиком:

var Str = «test.php?id=5&n=Николай»;

window.alert(encodeURI(Str));

decodeURI (<Строка>)   декодирует Строку, закодированную методом encodeURI();

encodeURIComponent (<Строка>) выполняет URL-кодирование строки:

var Str = encodeURIComponent(«Строка»);

// Str = %D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B0

В отличие от функции encodeURI() заменяет все спецсимволы шестнадцатеричными кодами:

var Str = «test.php?name=Николай»;

window.alert(encodeURIComponent(Str));

// test.php%3Fname%3D%D0%9D%D0%B8%D0%BA%D0%BE%D0%BB%D0%B0%D0%B9

decodeURIComponent (<строка>) декодирует строку, закодированную методом encodeURIComponent().

Класс Number. Работа с числами

Класс Number используется для хранения числовых величин, а также для доступа к константам. Экземпляр класса создается но следующей схеме:
<Экземпляр класса> = new Number (<Начальное значение>);

Свойства класса Number можно использовать без создания экземпляра класса:max_value — максимально допустимое в JavaScript число:

max_value — максимально допустимое в JavaScript число:

var x = Number.MAX_VALUE; // 1.7976931348623157e+308

min_value — минимально допустимое в JavaScript число:

var x = Number.MIN_VALUE; // 5e-324

NaN — значение NaN:

var x = Number.NaN; // NaN

negative_infinity — значение «минус бесконечность»:

var x = Number.NEGATIVE_INFINITY; // -Infinity

 positive_infinity — значение «плюс бесконечность»:

var x = Number.POSITIVE_INFINITY; // Infinity

Методы:

vaiueof () возвращает числовое значение экземпляра класса:

var x = new Number (15);

var y = x.valueOf(); // 15

document.write(typeof y); // number

tostring () возвращает строковое представление числа:

var x = new Number (15);

var Str = x.toString(); // «15»

document.write(typeof Str); // string

Класс Math. Использование математических функций

Класс Math содержит математические константы и функции. Его использование не требует создания экземпляра класса.

Свойства:

E — e, основание натурального логарифма;

LN2 — натуральный логарифм 2;

ln10 — натуральный логарифм 10;

LOG2E — логарифм по основанию 2 от е;

log10e — десятичный логарифм от е\

PI — число Пи:

document.write(Math.PI); // 3.141592653589793

SQRT1_2 — квадратный корень из 0,5;

SQRT2 — квадратный корень из 2.

Методы:

abs() — абсолютное значение;

sin(), cos(), tan() — стандартные тригонометрические функции (синус, косинус, тангенс). Значение указывается в радианах;

asin(), acosO, atari() — обратные тригонометрические функции (арксинус, арккосинус, арктангенс). Значение возвращается в радианах;

ехр() — экспонента;

log () — натуральный логарифм;

pow (<Число>, <Степень>) —возведение <Числа> в <Степень>:

var x = 5;

document.write(Math.pow(x, 2)); // 25 (5 в квадрате)

sqrt () — квадратный корень:

var x = 25;

document.write(Math.sqrt(x)); // 5 (квадратный корень из 25)

round () — значение, округленное до ближайшего целого. Если первое число после запятой от 0 до 4, то округление производится к меньшему по модулю целому, а в противном случае — к большему:

var x = 2.499;

var y = 2.5;

document.write(Math.round(x)); // округлено до 2

document.write(Math.round(y)); // округлено до 3

ceil () — значение, округленное до ближайшего большего целого:

var x = 2.499;

var y = 2.5;

document.write(Math.ceil(x)); // округлено до 3

document.write(Math.ceil(y)); // округлено до 3

floor () — значение, округленное до ближайшего меньшего целого:

var x = 2.499;

var y = 2.5;

document.write(Math.floor(x)); // округлено до 2

document.write(Math.floor(y)); // округлено до 2

max(<Список чисел через запятую>) —максимальное значение из списка:

document.write(Math.max(3, 10, 6)); // 10

min(<Список чисел через запятую>) —минимальное значение из списка:

document.write(Math.min(3, 10, 6)); // 3

random () — случайное число от 0 до 1:

document.write(Math.random()); // например, 0.9778613566886634

Для того чтобы получить случайное целое число от 0 до 9, нужно возвращаемое методом random () значение умножить на 9.9999, а затем округлить число до ближайшего меньшего целого при помощи метода floor ():

var x = Math.floor(Math.random()*9.9999);

document.write(x);

Попробуйте несколько раз обновить Web-страницу. Число будет меняться случайным образом в пределах от 0 до 9 включительно. Для чего это может пригодиться? Например, если есть четыре баннера 468х60, то их можно показывать случайным способом.

var x = Math.floor(Math.random()*3.9999);

document.write(‘<img src=»banner’ + x + ‘.gif» width=»480″ height=»60″>’);

Четыре баннера с именами banner0.gif, banner1.gif, banner2.gif и banner3.gif должны быть расположены в одной папке с файлом, в котором находится исполняемый скрипт. Названия файлов с баннерами можно сделать произвольными, добавив их в массив:

var Mass = [ «banner-red.gif», «banner-blue.jpeg»,

«banner-gray.gif», «banner-white.png» ];

var x = Math.floor(Math.random()*3.9999);

document.write(‘<img src=»‘ + Mass[x]);

document.write(‘» width=»480″ height=»60″>’);

Класс Function (функции)

Класс Function позволяет использовать функцию как экземпляр класса. Делается это таким образом:
<Имя функции> = new Function(<Параметр1>, … , <ПараметрЫ>, <Тело функции>);
Например, функцию суммирования двух чисел

function f_Sum(x, y) {

return x + y;

}

можно переписать так:

var f_Sum = new Function («x», «y», «return x + y»);

Указывать «тело» функции в виде строки очень неудобно. По этой причине данным способом никто не пользуется.

Вместо него применяются анонимные функции:

var f_Sum = function(x, y) {

return x + y;

};

Вызывать функцию можно так же, как и раньше:

document.write(f_Sum(5, 6)); // 11

При использовании анонимных функций следует учитывать, что при указании внутри функции глобальной переменной будет сохранена ссылка на эту переменную, а не на ее значение:

var x = 5;

var f_Sum = function() {

return x; // Сохраняется ссылка, а не значение переменной x !

};

document.write(f_Sum()); // 5

x = 10; // Изменили значение

document.write(f_Sum()); // 10, а не 5

Класс Arguments. Функции с произвольным количеством аргументов

Класс массива аргументов позволяет получить доступ ко всем аргументам, переданным функции. Массив доступен только внутри тела функции. Получить доступ к аргументу можно, указав его индекс, а свойство length позволяет определить количество аргументов, переданных функции.

function f_Sum(x, y) {

return arguments[0]+arguments[1];

}

document.write(f_Sum(5, 6)); // 11

Какой в этом смысл? Дело в том, что при использовании массива аргументов можно передать функции больше аргументов, чем первоначально объявлено. Например, можно просуммировать сразу несколько чисел, а не только два

function f_Sum(x, y) {

var z = 0;

for (var i=0, c=arguments.length; i<c; i++) {

z += arguments[i];

}

return z;

}

document.write(f_Sum(5, 6, 7, 20)); // 38

Класс RegExp. Проверка значений с помощью регулярных выражений

Класс RegExp позволяет осуществить поиск в строке с помощью регулярных выражений — шаблонов для поиска определенных комбинаций метасимволов. Регулярные выражения позволяют осуществлять очень сложный поиск. Создать экземпляр класса RegExp можно двумя способами:
<Экземпляр класса> = new RegExp(<Регулярное зыражение>[, <Модификатор>]); <Экземпляр класса> = /<Регуляркое Еыражение>/[<Модификатор>];
Необязательный параметр <модификатор> задает дополнительные параметры поиска. Он может содержать следующие символы:
i — поиск без учета регистра;
g — глобальный поиск (поиск всех вхождений регулярного выражения в строке);
m — многострочный режим. Символ ^ соответствует началу каждой подстроки, а $ — концу каждой подстроки:

var p = new RegExp(«^[0-9]$», «mg»);

var Str = «1\n2\n3\nстрока\n4»;

Mass = Str.match(p);

document.write(Mass.join(«, «)); // Выведет: 1, 2, 3, 4

gi — глобальный поиск без учета регистра символов.
При изучении класса String нами были оставлены без внимания три метода —search(), match() И replace().

Рассмотрим способы их применения. search(<Регулярное    выражение>)   возвращает  номер   позиции   первого вхождения подстроки, совпадающей с регулярным выражением:

var p = new RegExp(«200[14]»);

var Str = «2000, 2001, 2002, 2003, 2004»;

document.write(Str.search(p)); // 6

Шаблону 200[14] соответствуют только два года: 2001 и 2004. match(<Регулярное   выражение>)  возвращает массив с результатами поиска, совпадающими с регулярным выражением:

var p = new RegExp(«200[14]»);

var Str = «2000, 2001, 2002, 2003, 2004»;

var Mass = [];

Mass = Str.match(p);

for (var i=0, c=Mass.length; i<c; i++)

document.write(Mass[i] + «<br>»);

Этот пример выведет только 2001, так как не указан модификатор глобального поиска g. Модифицируем его, чтобы получить все вхождения:

var p = new RegExp(«200[14]», «g»);

var Str = «2000, 2001, 2002, 2003, 2004»;

var Mass = [];

Mass = Str.match(p);

for (var i=0, c=Mass.length; i<c; i++)

document.write(Mass[i] + «<br>»);

Теперь будут выведены все подстроки, совпадающие с регулярным выражением:

2001

2004

replace(<Регулярное выражение>,  <Текст для замены>) возвращает строку, которая является результатом поиска и замены в исходной строке с использованием регулярного выражения:

var p = new RegExp(«200[14]», «g»);

var Str = «2000, 2001, 2002, 2003, 2004»;

Str = Str.replace(p, «2007»);

document.write(Str); // «2000, 2007, 2002, 2003, 2007»

В качестве второго параметра можно также указать ссылку на функцию. Через первый параметр в функции доступна строка, полностью соответствующая шаблону. Через остальные параметры доступны подвыражения, которые соответствуют фрагментам, заключенным в шаблоне в круглые скобки. В качестве примера найдем все числа в строке и прибавим к ним число 10:

var p = new RegExp(«[0-9]([0-9]+)», «g»);

var Str = «2000, 2001, 2002, 2003, 2004»;

Str = Str.replace(p, function(s, x) {

document.write(x + «, «);

var n = parseInt(s);

n += 10;

return n + «»;

});

document.write(«<br>» + Str);

// «000, 001, 002, 003, 004, «

// «2010, 2011, 2012, 2013, 2014»

В строке для замены можно использовать специальные переменные $1, …, $n, через которые доступны фрагменты, заключенные в шаблоне в круглые скобки. В качестве примера поменяем два тега местами:

var p = new RegExp(«<([a-z]+)><([a-z]+)>»);

var Str = «<br><hr>»;

Str = Str.replace(p, «&lt;$2&gt;&lt;$1&gt;»);

document.write(Str);

// Выведет в окне Web-браузера: «<hr><br>»

Метод split (<Регулярное выражением [<Лимит>] ) также поддерживает регулярные выражения. Возвращает массив, полученный в результате разделения строки на подстроки по фрагменту, соответствующему регулярному выражению. Если второй параметр присутствует, то он задает максимальное количество элементов в результирующем массиве:

var Str = «1 2 3\n4\t5\r6»;

var Mass = Str.split(/\s/);

document.write(Mass.join(«, «)); // «1, 2, 3, 4, 5, 6»

var Mass2 = Str.split(/\s/, 3);

document.write(Mass2.join(«, «)); // «1, 2, 3»

Вместо  методов  класса  string  можно  воспользоваться  методами  класса RegExp:□  test (<Строка>) возвращает true или false в зависимости от того, был поиск успешным или нет. В качестве примера произведем проверку правильности введенной даты

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01//EN»

«http://www.w3.org/TR/html4/strict.dtd»>

<html>

<head>

<title>Проверка вводимых данных</title>

<meta http-equiv=»Content-Type» content=»text/html; charset=windows-1251″>

</head>

<body>

<script type=»text/javascript»>

<!—

var d = window.prompt(«Введите дату в формате день.месяц.год», «»);

if (d==null) {

document.write(«Вы нажали Отмена»);

}

else {

var p = /^[0-3]\d\.[01]\d\.\d{4}$/;

if (p.test(d)) document.write(«Дата введена правильно»);

else document.write(«Вы неправильно ввели дату»);

}

//—>

</script>

</body>

</html>

Введите дату

exec (<Строка>) позволяет получить массив с результатами поиска, совпадающими с регулярным выражением:

var p = new RegExp(«(\\d{2}):(\\d{2}):(\\d{2})»);

var Str = «Sun Apr 29 18:47:27 UTC+0400 2007»;

var Mass = [];

Mass = p.exec(Str);

document.write(Mass.join(«<br>»));

Эта программа выведет

18 :47:27

18

47

27

Первая строка соответствует найденному фрагменту (элемент массива с индексом 0). Вторая, третья и четвертая строки содержат фрагменты, соответствующие группам метасимволов (\\d{2}), заключенных в круглые скобки. Номер скобок по порядку следования в регулярном выражении соответствует индексу фрагмента в массиве.

Список литературы

  1. Кантор И. Современный учебник JavaScript //Современный учебник Java Script [Электронный ресурс]/И. Кантор.–2019.–Режим доступа: http://learn. javascript. ru.–Дата доступа. – 2019. – Т. 12.
  2. https://practicum.yandex.ru/blog/chto-takoe-javascript-zachem-nuzhen/
  3. https://html5book.ru/osnovy-javascript/?ysclid=ldd5eo2non397569610&__cf_chl_tk=mUtXDFcz1QOyxw35bLNyonSFG.FOb3hETis.j6wOd9s-1674740760-0-gaNycGzNCL0
  4. https://www.javascripttutorial.net/
  5. Фролов А. В., Фролов Г. В. Сценарии JavaScript в активных страницах Web //М.: ДИАЛОГ-МИФИ. – 2020.