Чтение онлайн

ЖАНРЫ

JavaScript. Подробное руководство, 6-е издание
Шрифт:

См. также

decodeURIO, encodeURI, encodeURIComponent, escape, unescape

encodeURI

выполняет кодирование URI с помощью управляющих последовательностей

Синтаксис

encodeURI(uri)

Аргументы

uri Строка, содержащая URI или другой текст, который должен быть закодирован.

Возвращаемое значение

Копия

аргумента uri, в которой некоторые символы заменены шестнадцатеричными управляющими последовательностями.

Исключения

URIError
Указывает, что строка uri содержит искаженные суррогатные пары символов Юникода и не может быть закодирована.

Описание

encodeURI
– это глобальная функция, возвращающая закодированную копию аргумента uri. Не кодируются символы, цифры и следующие знаки пунктуации ASCII:

– _ . ! ~ * '

Функция encodeURI кодирует URI целиком, поэтому следующие символы пунктуации, имеющие в URI специальное значение, также не кодируются:

; / ? : @ & = + $ , #

Любые другие символы в uri заменяются путем преобразования символа в его код UTF-8 и последующего кодирования каждого из полученных байтов шестнадцатиричной управляющей последовательностью в формате %хх. В этой схеме кодирования ASCII-символы заменяются одной последовательностью %хх, символы с кодами от \u0080 до \u07ff - двумя управляющими последовательностями, а все остальные 16-раз-рядные символы Юникода - тремя управляющими последовательностями.

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

encodeURIComponent.

Метод decodeURIO предназначен для выполнения действия, обратного кодированию. До выхода ECMAScript v3 с помощью методов escape и unescape, сейчас признанных устаревшими, выполнялись сходные кодирование и декодирование.

Пример

// Возвращает http://www.isp.com/app.cgi?arg1=1&arg2=hello%20world

encodeURI(" http://www.isp.com/app.cgi?arg1=1&arg2=hello world");

encodeURI("\u00a9"); // Символ копирайта кодируется в %С2%А9

См. также

decodeURIO, decodeURIComponent, encodeURIComponent, escape, unescape

encodeURIComponent

выполняет кодирование компонентов URI с помощью управляющих последовательностей

Синтаксис

encodeURIComponent(s)

Аргументы

s Строка, содержащая фрагмент URI или другой текст, подлежащий кодированию.

Возвращаемое значение

Копия s, в которой определенные символы заменены

шестнадцатеричными управляющими последовательностями.

Исключения

URIError
Указывает, что строка s содержит искаженные суррогатные пары символов Юникода и не может быть закодирована.

Описание

encodeURIComponent
– это глобальная функция, возвращающая закодированную копию своего аргумента s. Не кодируются буквы, цифры и следующие знаки пунктуации ASCII:

– _ . ! ~ * '

Все остальные символы, в том числе такие символы пунктуации, как / : #, служащие для разделения различных компонентов URI, заменяются одной или несколькими шестнадцатеричными управляющими последовательностями. Описание используемой схемы кодирования см. в статье, посвященной функции

encodeURI
.

Обратите внимание на разницу между

encodeURIComponent
и
encodeURI:
функция
encodeURIComponent
предполагает, что ее аргументом является фрагмент URI (такой* как протокол, имя хоста, путь или строка запроса). Поэтому она преобразует символы пунктуации, используемые для разделения фрагментов URI.

Пример

encodeURIComponent("hello world?"); // Вернет hello%20world%3F

См. также

decodeURIO, decodeURIComponent, encodeURI, escape, unescape

Error

Error

обобщенное исключение (Object—>Error)

Конструктор

new Error

new Error (сообщение)

Аргументы

сообщение Необязательное сообщение об ошибке с дополнительной информацией об исключении.

Возвращаемое значение

Вновь созданный объект

Error
. Если задан аргумент сообщение, объект
Error
будет использовать его в качестве значения своего свойства message; в противном случае он возьмет в качестве значения этого свойства строку по умолчанию, определенную реализацией. Когда конструктор
Error
вызывается как функция (без оператора
new
), он ведет себя так же, как при вызове с оператором
new
.

Свойства

message

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

name

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

Методы

Поделиться с друзьями: