Функция String.format

Заменяет каждый элемент форматирования в объекте String на текст, эквивалентный значению соответствующего объекта.

var s = String.format(format, args);

format

Строка формата.

args

Массив объектов для форматирования.

Копия строки, к которой было применено форматирование.

Тип исключения

Атрибут Condition

Sys.ArgumentException

(Отладка) format содержит непарные открывающие или закрывающие фигурные скобки.

Функция format используется для замены указанных элементов форматирования текстовым представлением соответствующих значений объекта. Аргумент args может содержать единичный объект или массив объектов. Аргумент format не содержит или содержит один или несколько блоков фиксированного текста, перемежаемых одним или несколькими элементами форматирования. Каждому элементу форматирования соответствует объект в objects. Во время выполнения каждый элемент форматирования заменяется соответствующим объектом списка, представленным в виде строки.

Элементы форматирования состоят из чисел, заключенных в фигурные скобки, например {0}. Эти числа обозначают соответствующий элемент в списке objects. Индексация начинается с нуля. Для указания единичного литерала фигурной скобки в формате, используйте две открывающие или закрывающие фигурные скобки, т. е. "{{" или "}}". Вложенные скобки не поддерживаются.

Определение программы пользовательского форматирования

Можно задать подпрограмму пользовательского форматирования для элементов форматирования посредством предоставления специального объекта форматирования, у которого имеется метод toFormattedString в аргументе args. Метод toFormattedString должен принимать строковые аргументы и возвращать строки. Во время выполнения функция format передает любую строку в фигурных скобках своего соответствующего описателя параметра к методу toFormattedStrings. Строка, возвращенная методом toFormattedString, вставляется в форматированную строку в расположении соответствующего описателя параметра.

В следующем примере показан способ использования функции format для замены заданных элементов форматирования текстовыми представлениями соответствующих значений объектов. Данный код включает пример пользовательского объекта форматирования, у которого имеется метод toFormattedString.



// Define an class with a custom toFormattedString
// formatting routine.
Type.registerNamespace('Samples');

Samples.ToFormattedStringExample = function() {
}
Samples.ToFormattedStringExample.prototype = {
    toFormattedString: function(format) {
        return "This was custom formatted: " + format;
    }
}
Samples.ToFormattedStringExample.registerClass('Samples.ToFormattedStringExample');

var result = "";

// Format a string.
result = String.format("{0:d}", 123);
// Displays: "123"
alert(result);

// Format a string with an object that has 
// a custom toFormattedString method.
var o = new Samples.ToFormattedStringExample();
result = String.format("{0:12345}", o);
// Displays: "This was custom formatted: 12345"
alert(result);



Показ: