[блогеру на заметку] Метод String.format() для форматирования строк в Javascript
В различных языках программирования есть свои стандартные механизмы форматирования строк. Но в JavaSсript, увы, никакой стандартной функции нет. Более того, её нет и в самом распространённом фреймворке для JavaSсript — jquery.
Поэтому вот простая функция, которая выполняет форматирование образом, схожим с тем, что применяется в библиотеке MicrosoftAjax:
String.prototype.format = String.prototype.f = function () { var args = arguments; return this.replace(/\{\{|\}\}|\{(\d+)\}/g, function (m, n) { if (m == "{{") { return "{"; } if (m == "}}") { return "}"; } return args[n]; }); };
Эта фунция заменяет в строке фрагменты вида {0}, {1}, {2} и т.п. на значения соответствующих аргументов метода format(). Также метод доступен по краткому имени f().
Чтобы символы фигурных скобок воспринимались без интерпретации, пишите их дважды. Т.е. "{{" даст "{", а "}}" даст "}".
Теперь вместо трудночитаемого кода типа '<a href="' + addr + '">' + text + '</a>'
вы можете писать гораздо более простое и понятное '<a href="{0}">{1}</a>'.f(addr, text)
.
Отправить комментарий