Работа со строками в языке JavaScript

  • docx
  • 05.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 6. Работа со строками в языке JavaScript.docx

 

 

 

 

 

 

 

 

 

 

 

Конспект урока по веб-дизайну

на 3 курсе

«Работа со строками в языке JavaScript»

 

 

 

 

Подготовила преподаватель информатики

Шибеко Марина Николаевна

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тюмень, 2019


Тема: Работа со строками в языке JavaScript.

Цель: изучить методы и свойства объекта String; способствовать развитию памяти, внимания, устной связной речи; воспитывать информационную культуру.

Оборудование: ПЭВМ, медиапроектор, наглядный материал (презентация), дидактический материал (карточки-задания).

Ход урока

         I.    Организационное начало.

        II.    Повторительно – обучающая работа.

  1. Фронтальный устный опрос.

- Каков формат записи функции?

- Каков формат записи функции с возвратом значений?

 - Каков формат записи итерационного цикла for?

- Каков формат записи цикла с предусловием?

- Каков формат записи цикла с постусловием?

  1. Подведение итогов этапа.

      III.    Работа по осмыслению и усвоению нового материала.

  1. Сообщение темы и цели урока.
  2. Первичное восприятие нового материала

Объект String (строковый объект) используется для хранения и обработки текстовой информации. Он незаменим, когда требуется, например, найти позицию вхождения одной строки в другую, вырезать из строки подстроку, разбить строку на отдельные символы и создать из них массив и т. д.

Создание строкового объекта

С помощью конструктора String создается объект, в который «упакована» текстовая строка. Для создания строкового объекта используется выражение следующего вида:

1. var str1 = new String(“строка”);

2. var str2 = String(“строка”);

3. var str3 = “строка”;

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

Свойства и методы объекта String

Формат записи

Описание метода, свойства

 

1

str.length;

 

длина (количество символов, включая пробелы) в строке.

 

Пример:   “hello”.length; //5

2

prototype (прототип)

позволяет добавлять свойства и методы ко всем создаваемым строковым объектам. Данное свойство используется интерпретатором, когда функция используется как конструктор при создании нового объекта. Любой объект, созданный с помощью конструктора, наследует все свойства объекта, на который ссылается свойство prototype.

 

3

str.charAt(индекс);

 

Возвращает символ строки с указанным индексом (позицией); нумерация символов с 0.

 

Пример:     Привет”.charAt(2); //и

4

str.charCodeAt(номер символа в строке);

 

возвращает  код символа (т.е. числовое значение), стоящего на определенной позиции в строке; нумерация символов с 0.

 

Пример:    привет”.charCodeAt(2); //98

 

5

srt1.concat(str2,str3,…,srt n);

 

объединение двух и более строк в одну.

 

var str1 = '1+';

 var str2 = '2=';

var str3 = '3';

var result = str1.concat(str2, str3); //1+2=3

 

6

str.fromCharCode(Юникод, Юникод, Юникод...);

 

Возвращает строку, созданную с помощью указанной последовательности значений символов Unicode.

 

Пример: var str = String.fromCharCode(1070,1085,1080,1082,1086,1076); //Юникод

 

 

7

str.indexOf(‘подстрока’, номер символа);

 

Возвращает позицию первого символа первого вхождения указанной подстроки в строке с указанного номера символа. Если подстрока не найдена –  возвращает -1.

 

var str = 'Я учу учу Javascript';

str.indexOf('учу'); //2

 

8

str.lastIndexOf((‘подстрока’, номер символа);

var str = 'Я учу учу Javascript';

str.indexOf('учу'); //17

Возвращает позицию последнего найденного вхождения подстроки или -1, если подстрока не найдена.

 

9

localeCompare()

Возвращает значение, указывающее, эквивалентны ли две строки в текущем языковом стандарте.

 

10

match()

Ищет строку, используя предоставленный шаблон регулярного выражения, и возвращает результат в виде массива. Если совпадений не найдено, метод возвращает значение null.

 

11

str.replace(что заменяем, на что заменяем);

 

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

 

var str = 'Я учу PHP';

var newStr = str.replace('PHP', 'JavaScript'); //Я учу JavaScript

 

12

search()

Возвращает позицию первого соответствия указанной подстроки или регулярного выражения в строке.

 

13

str.slice(откуда отрезать, докуда отрезать);

Позволяет извлечь подстроку из строки. Первый аргумент указывает индекс с которого нужно начать извлечение. Второй необязательный аргумент указывает позицию, на которой должно остановиться извлечение. Если второй аргумент не указан, то извлечено будет все с той позиции, которую указывает первый аргумент, и до конца строки.

 

var str = 'Мне очень нравится JavaScript';

str.substr(19, 28));  // JavaScript

 

14

str.split(разделитель, максимальное количество элементов);

осуществляет разбиение строки в массив по указанному разделителю, который указывается первым необязательным параметром. Если он не задан - вернется вся строка. Если он задан как пустые кавычки '' - то каждый символ строки попадет в отдельный элемент массива. Вторым необязательным параметром можно указать максимальное количество элементов в получившемся массиве.

 

 

var str = 'Мне-очень-нравится-JavaScript';

var arr = str.split('-'); // ['Мне', 'очень', 'нравится', 'JavaScript']

 

15

str.substr(откуда отрезать, сколько символов отрезать);

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

 

Пример: var str = 'Мне очень нравится JavaScript';

str.substr(10,8); //нравится

 

16

substring()

Извлекает символы из строки между двух указанных индексов, если указан только один аргумент, то извлекаются символы от первого индекса и до конца строки.

 

17

toLocaleLowerCase()

Преобразует символы строки в нижний регистр с учетом текущего языкового стандарта.

 

18

toLocaleUpperCase()

Преобразует символы строки в верхний регистр с учетом текущего языкового стандарта.

 

19

str.toLowerCase();

изменяет все символы строки в нижний регистр и возвращает измененную строку.

 

var str = "Язык JAVASCRIPT";

str.toLowerCase(); //язык javascript

 

20

toString()

Возвращает строковое представление объекта.

 

21

str.toUpperCase();

изменяет все символы строки в верхний регистр и возвращает измененную строку.

 

var str = "javascript+html";

str.toUpperCase(); //JAVASCRIPT+HTML

 

22

строка.trim();

Удаляет пробелы в начале и конце строки и возвращает измененную строку. Чаще всего это нужно при вводе пользователем каких-либо значений: он может случайно налепить лишних пробелов - и наша задача очистить введенный текст от них.

 

var str = ' строка ';

str.trim(); //строка

 

23

valueOf()

Возвращает примитивное значение объекта.

 

 

В JavaScript используются регулярные выражения, реализованные отдельным объектом RegExp и интегрированы в методы строк.

Регулярные выражения – мощное средство поиска и замены в строке.

Регулярное выражение (оно же «регэксп», «регулярка» или просто «рег»), состоит из шаблона (также говорят «паттерн») и необязательных флагов.

Существует два синтаксиса для создания регулярного выражения.

«Длинный» синтаксис:

regexp = new RegExp("шаблон", "флаги");

…И короткий синтаксис, использующий слеши "/":

regexp = /шаблон/; // без флагов

regexp = /шаблон/gmi; // с флагами gmi (будут описаны далее)

Слеши /.../ говорят JavaScript о том, что это регулярное выражение. Они играют здесь ту же роль, что и кавычки для обозначения строк.

Регулярное выражение regexp в обоих случаях является объектом встроенного класса RegExp.

Основная разница между этими двумя способами создания заключается в том, что слеши /.../ не допускают никаких вставок переменных (наподобие возможных в строках через ${...}). Они полностью статичны.

Регулярные выражения могут иметь флаги, которые влияют на поиск.

В JavaScript их всего шесть:

-   i  -  поиск не зависит от регистра: нет разницы между A и a (см. пример ниже).

-   g  - поиск ищет все совпадения, без него – только первое.

-   m - многострочный режим

-   s - включает режим «dotall», при котором точка . может соответствовать символу перевода строки \n (рассматривается в главе Символьные классы).

-   u – включает полную поддержку юникода. Флаг разрешает корректную обработку суррогатных пар (подробнее об этом в главе Юникод: флаг "u" и класс \p{...}).

-   y – режим поиска на конкретной позиции в тексте (описан в главе Поиск на заданной позиции, флаг "y")

 

      IV.    Работа по выработке практических умений и навыков.

1.      Решение задач

http://wm-school.ru/js/string_exercises.php

  1. Напишите функцию, которая преобразует строку в массив слови удаляет лишние пробелы.

<script>

 var str = prompt (‘Введите строку’,’’);

function stringToarray(str) {

    return str.trim().split(" ");

}

var arr = stringToarray(str);

document.write(arr);

</script>

 

2. Напишите функцию, которая возвращает подстроку, состоящую из указанного количества символов.

<script>

var str = prompt('vvedite','');

function delete_characters(str, length) {

 

    if ((str.constructor === String) && (length>0)) {

        return str.slice(0, length);

    }

};

document.writeln(delete_characters(str, 7)); // Каждый

</script>

 

3. Напишите функцию, которая принимает строку str в качестве аргумента и вставляет тире (-) между словами. При этом все символы строки необходимо перевести в верхний регистр.

<script>

var str = "HTML JavaScript PHP";

function insert_dash(str) {

    return str.trim().toUpperCase().replace(/[^a-zA-Z0-9-]/, "").replace(/\s/g, "-");

};

document.writeln(insert_dash(str)); // 'HTML-JAVASCRIPT-PHP'

</script>

 

4. Напишите функцию, которая принимает строку в качестве аргумента и преобразует регистр первого символа строки из нижнего регистра в верхний.

<script>
var str = prompt(
Введите строку’,’’);  
 function cursive_letter(str) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}
document.writeln(cursive_letter(str)); 
</script>

5. Напишите функцию, которая принимает в качестве аргумента строку и и заменяет регистр каждого символа на противоположный. Например, если вводится «КаЖдЫй ОхОтНиК», то на выходе должно быть «кАжДыЙ оХоТнИк».

<script>
var str = prompt(‘
Введите строку’,’’);  
function change_register(str) {
var new_str = "";
var len = str.length;
  for (var i = 0; i < len; i++) {
    if (str[i] === str[i].toLowerCase()) {
      new_str += str[i].toUpperCase();
    } else {
      new_str += str[i].toLowerCase();
    }
  }
  return new_str;
}
document.writeln(change_register(str)); 
</script>

 

 

IMG_0002

 

 

       V.    Итог урока.

  1. Фронтальная (обобщающая ) беседа.

- как определить длину строки?

- что делает метод charAt?

- какой метод сливает строки?

- как преобразовать в верхний регистр слово?

http://code.mu/javascript/string/length.html

 

      VI.    Задавание на дом.

Дунаев, с.411-423, опорный конспект


Список использованной литературы

1.      Дунаев В.В. HTML, скрипты и стили. — 4-е изд., переб. и доп. - СПб: БХВ-Петербург, 2015. - 816 с: ил . – (В подлиннике).

Использованные материалы и Интернет-ресурсы

2.      Учебник и задачник  JavaScript [Электронный ресурс]. - URL: http://code.mu/books/javascript/

3.      Учебник JavaScript [Электронный ресурс]. - URL: http://wm-school.ru/js/index.php


 

Скачано с www.znanio.ru