вы можете использовать функционал заменить передавать данные на непрерывные строки:
var replaced = "Closes @ in @ min".replace(/@/g, [].shift.bind(['early', 55]) );
document.write(replaced);
//=="Closes early in 55 min"
или только с одним символом, это еще чище:
"Closes in @ min".replace("@", 55); // == "Closes in 55 min"
это позволяет вы избегаете всех дополнительных балансировок кавычек, которые нужны «+». Я также рекомендую пакеты шаблонов, такие как усы для нетривиальной интерполяции данных.
, если у вас есть объект данных, вы можете также использовать очень простую функцию шаблона, чтобы ввести собственные свойства:
function template(ob, str)
{
return str.replace(/{{([^}]+?)}}/g,
function(j,a){ return ob[a]||""; });
}
data={
name: "fred",
date: new Date()
};
str="Hello {{name}}, it's {{date}}";
document.write(template(data, str));
//== ~Hello fred, it's Tue Sep 16 2014 18:50:41 GMT-0500 (Central Daylight Time)