<MyRusakov.ru />

JavaScript, jQuery и Ajax с Нуля до Гуру

JavaScript, jQuery и Ajax с Нуля до Гуру

Видеокурс "JavaScript, jQuery и Ajax с Нуля до Гуру" научит Вас "вдыхать жизнь" в страницы, делая их с потрясающими эффектами и максимальным удобством для пользователя.

Курс научит Вас писать скрипты на JavaScript, а также обучит использованию библиотеки jQuery и технологии Ajax.

Практически любой красивый сайт (с красивыми галереями изображений, слайдерами, плавными переходами и так далее) использует jQuery. А практически на любом серьёзном сайте вовсю используется технология Ajax, которая делает работу с сайтом максимальной удобной.

Поэтому курс "JavaScript, jQuery и Ajax с Нуля до Гуру" Вам просто необходим, если Вы хотите создавать по-настоящему достойные сайты.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Объект String в JavaScript

Объект String в JavaScript

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

Как и полагается, изучения класса String начинаем с его конструктора, который и создаёт объект String.

var str = new String("javascript");
document.write(str);

Тут всё очевидно и понятно, но всё-таки. В начале создаётся новый объект вызовом конструктора класса String с параметром в виде строки, которую мы хотим получить. Следующим оператором мы выводим этот объект в окно браузера.

Теперь свойство, которое используется очень часто, и его необходимо обязательно знать. Это свойство называется length. Оно позволяет узнать длину строки. Безумно часто используется при работе со строками в JavaScript.

document.write(str.length);

Теперь перейдём к основным методам JavaScript. Первый метод позволяет получить символ по номеру в строке. Нумерация начинается с нуля, поэтому первый символ имеет индекс 0. Давайте используем метод charAt():

var str = new String ("string в javascript javascript");
document.write(str.charAt(0) + str.charAt(3));

В начале мы создаём экземпляр объекта String. Дальше мы, используя метод charAt() получаем 1-ый символ ("s"), потом соединяем с 4-ым ("i") и печатаем получившуюся строку ("si").

Следующий метод, который обязательно надо знать - это indexOf(). Данный метод занимается поиском подстроки в исходной строке и возвращает первый индекс вхождения. Например:

document.write(str.indexOf("ipt"));

Разумеется, не забывайте, что строку, созданную в предыдущем примере никто не отменял. В данном случае Вы увидите, что возвращено будет число "16". Обратите внимание, что если совпадений будет найдено несколько, то вернётся самое первое. А если не найдено ни одного, то вернётся "-1". Также у метода indexOf() существует и второй необязательный параметр, означающий, от какого символа вести поиск:

document.write(str.indexOf("ipt", 17));

В данном случае, результатом выполнения скрипта будет число "27". Очевидно, что данный метод используется в первую очередь для поиска.

Ещё один метод, который применяется при замене подстроки. Метод называется replace() и принимает два параметра: подстроку, которую надо заменить, и подстроку, на которую надо заменить (заменяется только 1-е вхождение):

document.write(str.replace("javascript", "html"));

На выходе получится такая строка: "string в html javascript". Думаю, что данный метод в коментариях не нуждается.

Следующий метод объекта String позволяет получить из исходной строки её часть. Метод называется slice(). Он принимает два параметра: первый индекс, с которого должна начинаться полученная строка, и второй индекс, означающий номер последнего символа, который войдёт в возвращённую строку. В общем, проще показать на примере:

document.write(str.slice(2, 5));

В результате в окне браузера появится строка: "rin". Обратите внимание, что нумерация снова начинается с нуля (и вообще, привыкайте, что нумерация всегда начинается с нуля). Также заметьте, что индекс с номером "2" в результирующую строку вошёл, а индекс с номером "5" уже не вошёл, потому что второй параметр равен как раз 5.

Также у метода slice() есть ещё одна разновидность. Если Вы не укажете второй параметр, то будет возвращена строка, которая начинается с первого индекса и до конца исходной строки.

document.write(str.slice(2));

В результате получится такая строка: "ring в javascript javascript".

И последние два часто используемых метода - это toLowerCase() и toUpperCase(), которые приводят исходную строку к нижнему и верхнему регистру соответственно. Пример:

document.write(str.toLowerCase());
document.write(str.toUpperCase());

Я, думаю, что Вы догадались о том, какой будет результат, но всё-таки советую посмотреть и запомнить эти два очень часто используемых метода.

Вот и все методы, которые мне хотелось рассмотреть в объекте String. Разумеется, это далеко не все. Однако, они являются самыми часто используемыми. И при работе со строками Вы будете их применять многократно.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (17):

sync.o sync.o 02.07.2011 09:39:40

А чем отличается метод slice() от substring()? Кроме того, что slice() работает с отрицательными значениями?

Ответить

Admin Admin 02.07.2011 13:59:16

Метод substring() работает исключительно со строками, тогда как slice() может работать ещё и с массивами. Это и есть главное отличие.

Ответить

star05 star05 18.05.2012 22:42:32

Есть несколько неточностей: 1. В строке ***document.write(str.replace("javascript", "html");*** в конце не хватает закрывающей скобки. 2. При использовании в таком формате не получается на выходе "string в html html". На выходе получается "string в html javascript". Чтобы получился "string в html html" нужно исеользовать document.write(str.replace(/javascript/g,"html"));

Ответить

Admin Admin 18.05.2012 23:25:13

Спасибо, исправил!

Ответить

star05 star05 18.05.2012 22:46:29

Еще одна неточночность: при вводе document.write(str.slice(2, 5)); на выходе получается текст тольео до 4-го символа "rin", а не "ring".

Ответить

Admin Admin 18.05.2012 23:25:19

Спасибо, исправил!

Ответить

BotaniQue BotaniQue 05.07.2012 18:28:02

Какая разница между CharAt и Slice ?

Ответить

Margo Margo 12.12.2012 20:36:33

метод charAt() работает только с 1 символом(Михаил в примере хорошо это продемонстрировал, благодаря конкатенации (сложению) в результате получилось 2 символа, а не 1). А метод slice() предназначен для работы с множеством символов, и определить в результате не один, а несколько символов без использования сложения. Нк как-то так..

Ответить

dedok41 dedok41 27.12.2013 23:41:24

Здравствуйте, Михаил! Метод charAt() работает только на чтение символа строки, а есть обратная процедура: запись отдельного символа в требуемое место строки? К примеру, нельзя записать str.charAt(3)=’a’; (ну, записать, конечно, можно, но это не работает). В PHP все просто, там есть операция взятия символа по номеру str{k}, которая работает и на чтение, и на запись, такая конструкция возможна как до знака равенства, так и после. Ничего не вижу, разве что разбить строку посимвольно на массив, сделать что-нибудь похожее на split, и уже потом работать с каждым символом как с элементом индексного массива. Но для функции split нужен разделитель…

Ответить

dedok41 dedok41 27.12.2013 23:47:59

И вдогонку. Ради шутки попробовал str.charTo(2)='a'. Естественно, не работает. А если серъезно, почему нет такого метода?

Ответить

alexandrdante alexandrdante 27.12.2013 23:58:19

Спросите у разработчиков языка) наверное,потому,что в javascript не существует такого понятия как символы. Любой символ - это строка с определённым символом

Ответить

dedok41 dedok41 28.12.2013 11:16:48

Спасибо, Александр, за оперативный ответ. Думаю, разработчики языка как небожители, до них и высоко и далеко. На всякий случай заглянул к Кантору (http://javascript.ru/String). Действительно, нет таких методов работы со строками, символы можно только считывать, но не менять, а жаль. Но, все-таки, к строке можно обращаться как к массиву символов, т.е. записи str.charAt(i) и str[i] эквивалентны. Проверил, работает, код компактнее, но работают квадратные скобки, естественно, только на чтение. Значит, остается вручную резать строку посимвольно на обычный массив, а после обработки обратно преобразовывать в строку, как, например, в функции join. Но, это будет слишком громоздко и медленно.

Ответить

alexandrdante alexandrdante 28.12.2013 11:28:23

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

Ответить

dedok41 dedok41 28.12.2013 17:28:57

Вы правы, Александр, язык примитивный. Но есть одно неоспоримое преимущество, из-за которого приходится выжимать из этого языка все, что можно. Ведь когда выполняешь длительные расчеты на PHP, час и более, понятия не имеешь, что там программа наработала, пока расчеты не закончатся, даже если все происходит на локальном сервере. А в JS все отладочные и промежуточные контрольные распечатки идут на мониторе сразу же, синхронно с расчетами. Особенно это важно при отладке алгоритма, например, в случае зацикливания.

Ответить

alexandrdante alexandrdante 28.12.2013 17:31:02

ну,тоже верно) Все языки важны

Ответить

dedok41 dedok41 28.12.2013 17:37:03

Спасибо за диалог, с наступающим!

Ответить

alexandrdante alexandrdante 28.12.2013 17:37:53

Вас также =)

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.