Добавляем...


  Global
   Global — это редко упоминаемый объект, который является вместилищем свойств и методов, не являющихся частью других объектов. Вы не можете создать экземпляр объекта Global. Стандарт ЕСМА-262 определяет его как место для глобально доступных, в противном случае оказавшихся бы "бездомными" свойств. Объект Global предлагает весьма важные свойства, которые можно использовать в JavaScript везде. В табл. приводятся наиболее полезные методы этого объекта. Эти методы вызываются непосредственно, без добавления префикса "global". На самом деле добавление префикса приведет к ошибке. Причина в том, что указанные методы не связаны ни с каким конкретным объектом, так что в некоторых образцах документации по JavaScript их называют "глобальными" (или встроенными) функциями.
Метод Описание Пример
escape() Для данной строки возвращает строку, в которой все символы, не являющиеся буквенно-цифровыми (пробелы, знаки табуляции и специальные символы) заменяются шестнадцатеричными эквивалентами в форме %хх var aString="0'Neill & Sons";
// aString - "O'Neill & Sons"
aString = escape (aString);
// aString="O%27Neill%20%26%20Sons"
eval() Выполняет данную строку, как программный код JavaScript var x;
var aString = "5+9";
x = aString;
// x содержит строку "5+9"
x - eval(aString);
// x содержит число 14
isFinite() Возвращает булево значение, указывающее, является ли аргумент конечным var x;
x = isFinite('56');
// x содержит true x = isFinite (Infinity)
// x содержит false
isNaN() Возвращает булево значение, указыва- ющее, является ли аргумент значением NaN var х;
х = isNaN('56');
// х содержит false
х = isNaN(0/0)
// х содержит true
х = isNaN (NaN);
// x содержит true
parseFloat() Преобразует строковый аргумент в число с плавающим десятичным разделителем и возвращает соответствующее значение. Если строку конвертировать не удается, возвращается NaN. Метод должен обрабатывать строки, начинающиеся с чисел, отбрасывая лишнее, но другие смешанные строки не конвертируются var x;
x = parseFloat ("33.01568");
// x содержит 33.01568
x = parseFloat("47.6k-red-dog");
// x содержит 47.6
x = parseFloat("a567.34");
// x содержит NaN
x = parseFloat("won't work");
// x содержит NaN
parseInt() Преобразует строковый аргумент в целое число и возвращает соответствующее значение. Если строку конвертировать не удается, возвращается NaN. Подобно parseFloat() этот метод должен обрабатывать строки, начинающиеся с чисел, отбрасывая лишнее, но другие смешанные строки не конвертируются var x;
x = parseInt("-53") ;
// x содержит -53
x = parseInt("33.01568");
// x содержит 33
x = parseInt("47.6k-red-dog");
// x содержит 47
x = parseInt("a567.34");
// x содержит NaN
x = parseInt("won't work");
// x содержит NaN
unescape() Берет строку, содержащую шестнад-цатеричные значения в форме %хх, и возвращает ASCII-эквивалент в форме ISO-Latin-1 var aString="O%27Neill%20%26%20Sons";
aString = unescape (aString);
// aString = "O'Neill & Sons"
aString = unescape ("%64%56%26%23");
// aString = "dV&#"


   Методы объекта Global исключительно полезны и будут использоваться во многих примерах нашей книги. Программистам, использующим JavaScript, желательно познакомиться с этими методами поближе. В частности, очень мощным является метод eval() и с его помощью можно создавать очень лаконичные сценарии. Однако за эту мощь приходится платить, и многие сценарии, в которых применяется eval(), порождают весьма изощренные проблемы выполнения, так что используйте этот метод с осторожностью.
   Другим интересным примером применения методов объекта Global к строкам является автоматическое добавление и удаление управляющих кодов с помощью escape() и unescape(). В Web это чаще всего используется для создания безопасных строк URL. Вы, наверное, видели такие строки, работая с формами. Указанные методы исключительно полезны, но спецификации ЕСМ AScript возражают против еscape() и unescape(), отдавая предпочтение более точным именам — encodeURI(), encode URIComponent(), decodeURI() и decodeURIComponent(). Соответствующие возможности иллюстрируются следующим примером:

var aURLFragment = encodeURIComponent("term=0''Neill & Sons");
document.writeln("Encoded URI Component: "+aURLFragment);
document.writeln("Decoded URI Component: "+decodeURIComponent(aURLFragment) ) ;

var aURL = encodeURI("http://www.pint.com/cgi-bin/search?term=0''Neill & Sons");
document.writeln("Encoded URI: "+ aURL);
document.writeln("Decoded URI: "+ decodeURI(aURL));

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


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


Примеры кода на сайте







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика