WebRazrab

WebRazrab

Ваш помощник в обучении

Array

leafleafleafDocy banner shape 01Docy banner shape 02

Практическое применение. События. Строковые методы. Массивы.

Содержание

Вопрос 1. События

Вопрос 2. Строковые методы

Вопрос 3. Массивы

Литература

Вопрос 1. События.

События HTML являются «вещами», происходящими с элементами HTML.

Когда JavaScript используется в HTML-страницах, JavaScript может «реагировать» на эти события.

Событие HTML может быть что-то браузер делает, или что-то пользователь делает. Вот несколько примеров событий HTML:

  • Веб-страница HTML завершила загрузку.
  • Изменено поле ввода HTML.
  • Нажата кнопка HTML.

Часто, когда происходят события, вы можете сделать что-то. JavaScript позволяет выполнять код при обнаружении событий. HTML позволяет добавлять в HTML-элементы атрибуты обработчика событий с кодом JavaScript.

<element event=«some JavaScript»>

В данном случае, элемент Button получит атрибут onclick (с кодом):

<!DOCTYPE html>

<html>

<body>

<button onclick=«document.getElementById(‘demo’).innerHTML=Date()»>Хочу узнать дату и время<button>

<p id=«demo»></p>

</body>

</html>

В этом случае, элемент button будет заменен:

<!DOCTYPE html>

<html>

<body>

<button onclick=«this.innerHTML=Date()»>Замени меня на дату и время </button>

</body>

</html>

Таблица 1.

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

Событие

Описание

onchange

Изменен HTML-элемент

onclick

Пользователь щелкает элемент HTML

onmouseover

Пользователь перемещает указатель мыши на элемент HTML

onmouseout

Пользователь перемещает мышь от элемента HTML

onkeydown

Пользователь нажимает клавишу клавиатуры

onload

Браузер завершил загрузку страницы

Вопрос 2. Строковые методы.

С помощью JavaScript методы и свойства также доступны для примитивных значений, поскольку JavaScript обрабатывает примитивные значения как объекты при выполнении методов и свойств.

Длина строки.

Свойство length возвращает длину строки:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript строковые методы</h2>

<p>JavaScript возвращает длину строки:</p>

<p id=«demo»></p>

<script>

var txt = «ABCD3434734987348934PQRSTUVWXYZ»;

document.getElementById(«demo»).innerHTML = txt.length;

</script>

</body>

</html>

Поиск строки в строке.

Метод IndexOf () возвращает индекс (положение) первого вхождения заданного текста в строку:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript строковые методы </h2>

<p>IndexOf() возвращает позицию первого совпадения в тексте, учитывая, что первый элемент это ноль:</p>

<p id=«demo»></p>

<script>

var str = «Please locate where ‘locate’ occurs!»; var pos = str.indexOf(«occ»);

document.getElementById(«demo»).innerHTML = pos;

</script>

</body>

</html>

Метод LastIndexOf () возвращает индекс последнего вхождения заданного текста в строке:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript строковые методы</h2>

<p>The lastIndexOf() method returns the position of the last occurrence of a specified text:</p>

<p id=«demo»></p>

<script>

var str = «Please locate where ‘locate’ occurs!»; var pos = str.lastIndexOf(«locate»);

document.getElementById(«demo»).innerHTML = pos;

</script>

</body>

</html>

1. Извлечение строковых деталей.

Существует 3 способа извлечения части строки:

  • срез (начало, конец);
  • подстрока (начало, конец);
  • substr (начало, длина).

Метод slice ().

slice () извлекает часть строки и возвращает извлеченную часть в новой строке. Метод принимает 2 параметра: начальный индекс (положение) и Конечный индекс (позиция). Если опустить второй параметр, метод выполнит срез оставшейся части строки.

Этот пример нарезает часть строки из позиции 7 в положение 13:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript строковые методы </h2>

<p>Метод slice() возвращает слово в диапазоне от начала строки:</p>

<p id=«demo»></p>

<script>

var str = «Apple, Banana, Audi, Volvo»; var res = str.slice(7,13);

document.getElementById(«demo»).innerHTML = res;

</script>

</body>

</html>

Если параметр имеет отрицательное значение, позиция учитывается от конца строки. Этот пример нарезает часть строки из позиции-12 в положение-6:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript строковые методы </h2>

<p> Метод slice() возвращает слово в диапазоне от конца строки:</p>

<p id=«demo»></p>

<script>

var str = «Audi, Ferrari, Apple, Banana, Kiwi»; var res = str.slice(-12,-6);

document.getElementById(«demo»).innerHTML = res;

</script>

</body>

</html>

Замена содержимого строки.

Метод Replace () заменяет указанное значение другим значением в строке. Метод Replace () не изменяет строку, в которой он вызывается. Возвращает новую строку.

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript строковые методы </h2>

<p>Заменим ниже «BMW» на «AUDI» по нажатии кнопки:</p>

<button onclick=«myFunction()»>Замена</button>

<p id=«demo»>Купите BMW</p>

<script>

function myFunction() {

var str = document.getElementById(«demo»).innerHTML; var txt = str.replace(«BMW», «AUDI»); document.getElementById(«demo»).innerHTML = txt;

}

</script>

</body>

</html>

По умолчанию функция Replace () учитывает регистр. Написание Microsoft (с верхним регистром) не будет работать. Чтобы заменить регистр без учета регистра, используйте регулярное выражение с пометкой « i « (нечувствительно):

<!DOCTYPE html>

<html>

<body>

<h2> JavaScript строковые методы </h2>

<p> Заменим ниже «BMW» на «AUDI» по нажатии кнопки:</p>

<button onclick=«myFunction()»>Try it</button>

<p id=«demo»>Вам нравится BmW</p>

<script>

function myFunction() {

var str = document.getElementById(«demo»).innerHTML; var txt = str.replace(/BMW/i,»Audi»); document.getElementById(«demo»).innerHTML = txt;

}

</script>

</body>

</html>

Для замены всех совпадений, используйте регулярное выражение с флагом /g (глобальное совпадение).

Преобразование в верхний и нижний регистр.

Строка преобразуется в верхний регистр с toUpperCase () или toLowerCase () для преобразования в нижний регистр:

<!DOCTYPE html>

<html>

<body>

<p>Переделываем текст в верхний регистр:</p>

<button onclick=«myFunction()»>Try it</button>

<p id=«demo»>Hello World!</p>

<script>

function myFunction() {

var text = document.getElementById(«demo»).innerHTML; document.getElementById(«demo»).innerHTML = text.toUpperCase();

}

</script>

</body>

</html>

Преобразование строки в массив.

Строка может быть преобразована в массив с помощью метода Split ().
Если разделитель опущен, возвращаемый массив будет содержать всю строку в index [0].
Если разделитель ««, возвращаемый массив будет массивом из одного символа.

<!DOCTYPE html>

<html>

<body>

<p>Click «Try it» to display the first array element, after a string split.</p>

<button onclick=«myFunction()»>Try it</button>

<p id=«demo»></p>

<script>

function myFunction() { var str = «a,b,c,d,e,f»;

var arr = str.split(«,»); document.getElementById(«demo»).innerHTML = arr[0];

}

</script>

</body>

</html>

Вопрос 3. Массивы.

Массивы JavaScript используются для хранения нескольких значений в одной переменной.

Массив — это специальная переменная, которая может содержать более одного значения за раз.

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

var car1 = «Saab»; var car2 = «Volvo»; var car3 = «BMW»;

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

Создание массива.

Использование литерала массива является самым простым способом создания массива JavaScript.

var array_name = [item1, item2, …];

Использование ключевого слова JavaScript New.

В следующем примере также создается массив и присваиваются ему значения:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript Массивы</h2>

<p id=«demo»></p>

<script>

var cars = new Array(«Saab», «Volvo», «BMW»); document.getElementById(«demo»).innerHTML = cars;

</script>

</body>

</html>

Доступ к элементам массива.

Вы ссылаетесь на элемент массива, ссылаясь на номер индекса. Эта инструкция обращается к значению первого элемента:

var name = flats [0];

А так заполняют массив, например первый элемент:

flats [0] = «Mikes»;

Доступ к полному массиву можно увидеть на примере:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript Arrays</h2>

<p id=«demo»></p>

<script>

var cars = [«Saab», «Volvo», «BMW»]; document.getElementById(«demo»).innerHTML = cars;

</script>

</body>

</html>

Элементы массива могут быть объектами.

JavaScript-переменные могут быть объектами. Массивы — это специальные виды объектов. Из-за этого можно иметь переменные различных типов в одном массиве. Объекты можно иметь в массиве. Можно иметь функции в массиве. Массивы можно иметь в массиве:

myArray[0] = Date.now; myArray[1] = myFunction; myArray[2] = myShips;

Циклические элементы массива.

Лучший способ перебора массива — использовать цикл «for»:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript Массивы</h2>

<p>Лучший способ выводить или заполнять массив, это использовать цикл for:</p>

<p id=«demo»></p>

<script>

var fruits, text, fLen, i;

fruits = [«Banana», «Orange», «Apple», «Mango»]; fLen = fruits.length;

text = «<ul>»;

for (i = 0; i < fLen; i++) {

text += «<li>» + fruits[i] + «</li>»;

}

text += «</ul>»; document.getElementById(«demo»).innerHTML = text;

</script>

</body>

</html>

Удаление и дополнение элементов массива.

Метод POP () удаляет последний элемент из массива:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript методы массивов</h2>

<h2>pop()</h2>

<p>Метод pop() убирает последний элемент из массива.</p>

<p id=«demo1»></p>

<p id=«demo2»></p>

<script>

var fruits = [«Banana», «Orange», «Apple», «Mango»]; document.getElementById(«demo1»).innerHTML = fruits; fruits.pop(); document.getElementById(«demo2»).innerHTML = fruits;

</script>

</body>

</html>

Поскольку массивы JavaScript являются объектами, элементы могут быть удалены с помощью оператора JavaScript Delete:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript методы массивов </h2>

<p>Deleting elements leaves undefined holes in an array.</p>

<p id=«demo1»></p>

<p id=«demo2»></p>

<script>

var fruits = [«Banana», «Orange», «Apple», «Mango»]; document.getElementById(«demo1»).innerHTML =

«The first fruit is: » + fruits[0]; delete fruits[0];

document.getElementById(«demo2»).innerHTML =

«The first fruit is: « + fruits[0];

</script>

</body>

</html>

Метод Push () добавляет новый элемент в массив (в конце):

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript методы массивов</h2>

<h2>push()</h2>

<p>Метод push() добавляет новый элемент в массив.</p>

<button onclick=«myFunction()»>Try it</button>

<p id=«demo1»></p>

<p id=«demo2»></p>

<script>

var fruits = [«Banana», «Orange», «Apple», «Mango»]; document.getElementById(«demo1»).innerHTML = fruits; function myFunction() { document.getElementById(«demo2»).innerHTML =

fruits.push(«Kiwi»);

document.getElementById(«demo1»).innerHTML = fruits;

}

</script>

</body>

</html>

Слияние (сцепление) массивов.

Метод concat () создает новый массив путем слияния (сцепления) существующих массивов:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript методы массивов </h2>

<h2>concat()</h2>

<p>Методы concat() используются для сращивания массивов:</p>

<p id=«demo»></p>

<script>

var arr1 = [«Cecilie», «Lone»];

var arr2 = [«Emil», «Tobias», «Linus»]; var arr3 = [«Robin», «Morgan»];

var myChildren = arr1.concat(arr2, arr3); document.getElementById(«demo»).innerHTML = myChildren;

</script>

</body>

</html>

Сортировка массивов.

Назначение функции Compare заключается в определении альтернативного порядка сортировки. Функция Compare должна возвращать отрицательное, нулевое или положительное значение в зависимости от аргументов:

function(a, b){return a-b}

Когда функция Sort () сравнивает два значения, она отправляет значения в функцию Compare и сортирует значения в соответствии с возвращаемым (отрицательным, нулевым, положительным) значением. При сравнении 40 и 100 метод Sort () вызывает функцию Compare (40100). Функция вычисляет 40-100 и возвращает-60 (отрицательное значение). Функция сортировки будет сортировать 40 как значение ниже 100. Этот фрагмент кода можно использовать для экспериментов с сортировкой по числу и по алфавиту:

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript Array Sort</h2>

<p>Click the buttons to sort the array alphabetically or numerically.</p>

<button onclick=«myFunction1()»>Sort Alphabetically</button>

<button onclick=«myFunction2()»>Sort Numerically</button>

<p id=«demo»></p>

<script>

var points = [40, 100, 1, 5, 25, 10]; document.getElementById(«demo»).innerHTML = points; function myFunction1() {

points.sort(); document.getElementById(«demo»).innerHTML = points;

}

function myFunction2() { points.sort(function(a, b){return a – b});

document.getElementById(«demo»).innerHTML = points;

}

</script>

</body>

</html>


Литература:

  1. https://learn.javascript.ru.
  2. https://innerhtml.ru.
  3. https://webref.ru.
  4. https://htmlbase.ru.

Статьи