Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

– _ . ! ~ * '

Функция 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
.

  • Читать дальше
  • 1
  • ...
  • 494
  • 495
  • 496
  • 497
  • 498
  • 499
  • 500
  • 501
  • 502
  • 503
  • 504
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: