Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаю рубрику Заметки по JavaScript, в которой до этого была публикации посвященные числам JavaScript, типам данных JavaScript и непосредственно языку программирования JavaScript и методом вставки JavaScript кода в HTML.

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

Символ JavaScript. Строки JavaScript. Типы данных JavaScript. Преобразование строк JavaScript в другие типы данных.

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

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

JavaScript строки. JavaScript символ. Типы данных JavaScript.

Любой язык программирования имеет свой набор типов данных, которые могут обрабатываться, у PHP свои типы данных, у C свои, даже у сервера MySQL имеется свой набор типов данных, который он может хранить и представлять.

Строки JavaScript – это тип данных, очень важный и нужный в сфере web программирования. И стоит уделить отдельное внимание этому типу данных.

Давайте поговорим о назначение строк JavaScript и что такое строка. Строка – это набор символов, в случае с JavaScript, строка это набор Unicode-символов (числа, знаки препинания, буквы и т.д.). JavaScript строки – это тип данных, который предназначен для хранения текста. Если вы помните, что такое литерал, для тех кто не помнит или не знает, напомню. Литерал – это значение, использующееся непосредственно в коде программы. Так вот, строковые литералы JavaScript должны быть всегда заключены в кавычки одинарные или двойные. Данное условие должно выполняться строго, поскольку это часть лексической структуры языка JavaScript, а точнее его синтаксиса, более того “123456”– если в этом примере вы не поставите кавычки, то интерпретатор JavaScript воспримет данную запись как число, как и в случае с “true” и ‘false’ (без кавычек интерпретатор будет считать данные записи значениями логической истинности).

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

Типы данных JavaScript.  JavaScript строки. JavaScript символ. Строковые литералы JavaScript.

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

Интерпретатор JavaScript определяет строковый литерал по наличию кавычек двойных или одинарных, не важно (‘ или “). То есть, обязательным условием синтаксиса JavaScript строк являются кавычки, строка должна быть в кавычках. Наличие двух видов кавычек обусловлено там, что иногда возникает необходимость использовать кавычки, как строковые символы. Символы двойных кавычек могут использоваться в строках обозначенных одиночными кавычками, а символ одинарные кавычки – в строках, которые обозначены двойными кавычками.

Обратите внимание: строки JavaScript, точнее строковые литералы должны записывать в одну строку при их записи недопустимо использовать символы переноса строк (про пробельные символы я писал в публикации, которая была посвящена бесплатному редактору с подсветкой синтаксиса Notepad++). Но можно добавить в строковый литерал символ перевода строки, используя управляющую последовательность \n, этот символ позволяет сделать перенос строк в JavaScript и не только в JavaScript.

Ну и несколько примеров строк JavaScript и строковых литералов:

[php]

“” //пустая строка

‘1111’ //это строка

“O’Neil” //Строка, в которой используется символ одинарных кавычек

‘ООО “ООО”’ //Строка с символами двойных кавычек

“А так можно сделать\n перенос строк”

[/php]

В данный момент JavaScript строки допускают использование всех Unicode-символов в строковых литералах, но в более ранних версиях в JavaScript строках можно было использовать только символы из кодировки ASCII и Latin-1.

Не забывайте, что в JavaScript строку можно включить любой Unicode-символ, но для этого нужно знать соответствующую управляющую последовательность. Если вы привыкли обозначать строки JavaScript одиночными кавычками, то не забывайте, что апостроф (‘) – это символ одиночных кавычек и интерпретатор JavaScript воспримет его не как строковый символ, а как кавычку и соответственно конец или начало строки будет не таким, как вы задумали.

Чтобы избежать подобных неприятностей апострофы следует экранировать символом обратного слэша (\). Используя бэкслэш вы можете экранировать JavaScript символы в строке. Для интерпретатора символ \ является символом управляющей последовательности, а символ стоящий за \, интепретатор будет обрабатывать по-особому.

Управляющие последовательности чаще всего применяются тогда, когда в текстовом редакторе нет полноценной поддержки Unicode символов, например, в удобном и бесплатном PHP, HTML, JavaScript редакторе Notepad++ имеется полная поддержка Unicode символов, а еще у него есть подсветка синтаксиса.

Не секрет, что JavaScript код чаще всего встраивается в HTML списки, например, при создании из HTML списков меню сайта или при создании HTML форм. И в HTML точно так же, как и в JavaScript строках применяются кавычки, одинарные или двойные. Поэтому, чтобы не запутаться следует при написание HTML тегов и HTML атрибутов, то есть при создание HTML страниц использовать один тип кавычек, а при написание JavaScript кода использовать другой тип кавычек. Это не потому, что так надо, а потому что так реально удобней и наглядней.

JavaScript строки. Символ JavaScript. Типы данных JavaScript. Управляющие последовательности JavaScript.

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

Управляющая последовательность JavaScript начинается с символа обратного слэша (\), этот символ имеет специальное значение в JavaScript строках, поэтому можно сказать, что управляющие последовательности JavaScript тесно связаны с типом данных строки JavaScript.

Символ обратного слэша является указателем для интерпретатора JavaScript, о том, что далее идет управляющая последовательность, если за бэкслэшем нет других символов, то происходит экранирование.

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

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

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

Управляющие последовательности в  JavaScript не ограничиваются только символами, которые можно ввести с клавиатуры. При помощи управляющих последовательностей можно писать символы, указывая кодовое обозначение в шестнадцатеричном формате (информацию про шестнадцатеричную систему счисления вы можете найти в статье посвященной модели RGB и в статье про JavaScript числа) таким образом, можно вставлять в JavaScript строки не только символы из кодировки Latin-1 или ASCII, но и из кодировки Unicode. Например, управляющая последовательность \xA9 – создаст символ копирайта в JavaScript строке.

Для кодировки Unicode имеется специальный синтаксис управляющих последовательностей \u, после u следует написать код нужного символа кодировки Unicode. Например, управляющую последовательность символа копирайт можно задать так: \ua9.

Управляющая последовательность Символ JavaScript строки
\0\u0000 Символ NULL в строке JavaScript
\b\u0008 «Забой» в строке JavaScript
\t\u0009 Горизонтальная табуляция в строке JavaScript
\n\u000A Перевод строки в строке JavaScript
\v\u0008 Вертикальная табуляция в строке JavaScript
\\\u005C Обратный слэш в в строке JavaScript
\’\u0027 Одинарные кавычки в строке JavaScript
\”\u0022 Двойные кавычки в строке JavaScript
\r\u000D Возврат каретки в строке JavaScript
\f\u000C Перевод страницы в строке JavaScript

Обратите внимание: если символ обратного слэша предшествуют любому другому в строке JavaScript символу, не представленному в этой таблице, то обратный слэш будет игнорироваться JavaScript интерпретатором! Так что будьте внимательны.

JavaScript строки. Символ JavaScript. Типы данных JavaScript. Работа с JavaScript строками.

JavaScript строки – это тип данных в JavaScript, а любой тип данных можно обрабатывать и производить с ним какие-либо операции при помощи встроенных функций JavaScript и операторов JavaScript. Хочу сказать, что в именно в этой публикации я не буду подробно останавливаться на JavaScript операторах и встроенных функциях JavaScript для работы со строками, а лишь опишу действия, которые доступны в JavaScript для работы со строками.

Приступим к делу. Первое, что можно делать с JavaScript строками – конкатенировать JavaScript строки, то есть в JavaScript можно объединять строки. Для этого используется оператор “+”. Этот же оператор используется для сложения чисел в JavaScript, а в случае JavaScript строк они объединяются или конкатенируются. При объединении строк, вторая строка будет добавлена к концу первой.

[php]

var name;

var hello = ”Привет, ” + name + “!”

[/php]

Можно определить длину строки JavaScript. Длина строки – это количество символов в ней содержащихся. Для определения длины строки JavaScript используется свойство length, length – это свойство JavaScript строки. Если у нас есть строка, которая хранится в переменной str, то мы можем легко узнать ее длину, просто обратившись к свойству length, вот так:

[php]

str.lenght

[/php]

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

Давайте посмотрим, как узнать последний символ JavaScript строки. Точнее, как получить последний символ строки JavaScript. Чтобы получить последний символ JavaScript строки можно воспользоваться методом charAt () и свойством length:

[php]posl_simvol = str.charAt (s.lenght -1);[/php]

Таким образом вы можете получить(извлечь) последний символ JavaScript строки. Любой другой символ JavaScript можно получить, используя метод substring ():

[php]

char = str.substring (1,15);

[/php]

В данном случае мы получим 15 символ строки JavaScript. В JavaScript есть метод, который позволяет найти и извлечь позицию первого указанного символа строки JavaScript. Например, мы хотим узнать позицию первого символа «в», который есть в строке str:

[php]ind=  str.indexOf (‘в’);[/php]

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

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

JavaScript строки. Символ JavaScript. Типы данных JavaScript. Преобразование строки JavaScript.

В данной публикации не будет подробного описания преобразования JavaScript строк в другие типы данных JavaScript. Например, строку в число JavaScript или строку в логический тип данных JavaScript или строку JavaScript в массив JavaScript.

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

Преобразуемое

значение

В строку

В число

В логическое

значение

В объектный тип данных

Пустая строка

Пустая строка

0

false

Объект String

Непустая строка

Непустая строка

NaN, числовое значение строки если такое имеется

true

Объект String

Строка JavaScript преобразуется в числовой тип данных и может принимать три значения, либо NaN, либо числовое значение, которое содержится в JavaScript строке, или же 0, но это в том случае если строка пустая. JavaScript строка преобразуется в логический тип данных, если строка пустая, то она преобразуется в значение false, а если строка непустая, то она преобразуется в значение true. Строки JavaScript преобразуются в JavaScript объект String.

На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)

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


Выберете удобный для себя способ, чтобы оставить комментарий

This article has 2 comments

  1. Pingback: Arni

    • Кирилл Reply

      Здравствуйте! Надеюсь и дальше вас буду радовать. По поводу JavaScript строк могу сказать, что да они ведут себя, как JavaScript массивы (этим грешат многие слабо типизированные языки программирования) строки ведут себя, как массивы и в PHP. Но JavaScript строки — это особая тема и я постараюсь написать публикацию про строки JavaScript, где покажу их объектное поведение и в чем оно заключается, в формате комментариев это трудно сделать. Поэтому ждите еще одну публикацию про JavaScript строки.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Loading Disqus Comments ...