В данной статье я решил более подробно рассмотреть управляющие последовательности при работе со строками в языке Jscript. Хотя стоит упомянуть, что данный материал относится и к языку JavaScript. И так, что же такое управляющая последовательность?
Управляющая последовательность это, в простом варианте, один, или несколько специальных символов (например, ESC — последовательность), которые нельзя ввести с клавиатуры стандартным путём. Всем, кто работает с пакетом Microsoft Office, знакома ситуация, кода в текст надо вставить некий специальный символ, например, символ копирайта. Однако, в языке программирования, таких символов больше, так, если нам надо в Word использовать символ табуляции, то мы просто нажимаем на клавишу TAB, что бы сделать аналогичные действия в Jscript, приходится использовать управляющую конструкцию t. Данную тему я немного затронул в статье Объявление переменных, и теперь постараюсь глубже всё рассмотреть.
И так, давайте начнём с самого простого, напишем сценарий, который будет выводить строку Hello World:
//******************* //hello.js //******************* var hello="Hello World"; //Выведет Hello World WScript.Echo(hello); |
Тут мы объявили переменную hello с помощью ключевого слова var языка JScript и сразу же присвоили ей строковое значение «Hello World», мы могли поступить и по-другому:
var hello; hello="Hello World"; |
Первый вариант более экономный.
Хорошо, теперь давайте изменить вид нашей строки:
//******************* //hello.js //******************* var hello="Hello World"; WScript.Echo(hello); //Выведет Hello World hello = "H\ello\ Worl\d"; WScript.Echo(hello); //Выведет Hello World |
Как не странно, во втором случае тоже будет выведена строка Hello World, символ обратного слэша () имеет особое значение, именно он и позволяет создавать управляющие последовательности, всё, что идет после него, интерпретатор языка будет принимать как управляющую последовательность,ЕСЛИ ОНА ПРИСУТСТВУЕТ!!! Для понимания, взгляните на следующий пример:
//******************* //hello_time.js //******************* var hello="Hello time"; WScript.Echo(hello); //Выведет Hello time hello = "Hello \time"; WScript.Echo(hello); //Выведет Hello ime |
Тут, во втором случае вместо «Hello time» выводит «Hello ime», так как за обратным слэшем следует символ t, а, как я показал выше, t подразумевает табуляцию. Теперь давайте посмотрим на список управляющий последовательностей и их описания:
� — Символ NUL (u0000), весь текст, что следует после него, не будет отображаться.
b – Забой, эквивалент клавиши Backspace (u0008)
t – Как уже упоминалось, горизонтальная табуляция (u0009)
n – Перевод строки (u000A)
f — Перевод страницы (u000C)
r — Возврат каретки (u000D)
« — Двойная кавычка (u0022)
‘ — Одинарная кавычка (u0027)
\ — Обратный слэш (u005C)
xХХ – Тут XX – две шестнадцатеричные цифры, как это работает, я покажу ниже
uХХХХ – Юникод символ, который задан четырьмя шестнадцатеричными цифрами XXXX
Тут стоит обратить внимание на xХХ и uХХХХ, если вы заметили, то рядом с ESC-символами (n, t,…) в скобках прописан их эквивалент в формате Юникод. Давайте рассмотрим такой пример работы с управляющими последовательностями:
//******************* //symbol.js //Управляющие последовательности - пример //******************* var str1="Первая строка", str2 = "Вторая строка"; // Все три конструкции выведут аналогичный результат WScript.Echo(str1 + "\n" + str2); WScript.Echo(str1 + "\u000A" + str2); WScript.Echo(str1 + "\x0A" + str2); //************************************************** //Выводим копирайт, четверть и греческую буква мю WScript.Echo ("\u00A9"); //Аналогичном \xA9 WScript.Echo ("\u00BC"); //Аналогичном \xBC WScript.Echo ("\u03BC"); |
Можете поэкспериментировать с управляющими конструкциями, вы, можете открыть редактор Word и при выборе вставки символа просто просмотреть его код, правда стоит помнить, что не все символы будут отображаться.