Javascript模板引擎?

Javascript模板引擎?,javascript,Javascript,可能重复: 我已经开始学习Javascript,并在网上阅读了各种不同的文章,有一件事我不太确定,那就是什么是Javascript模板引擎?他们的目的是什么?如果有人能解释这一点,那就太好了 谢谢 Kyle有不同类型的模板。基本上,这个想法是让一些字符串包含值的占位符作为输入,并使用一些函数将这些占位符替换为实际值。比如: var str = 'Hello $1'; 现在您可以编写一个javascript函数来替换$1: function printFromTemplate(){ var

可能重复:

我已经开始学习Javascript,并在网上阅读了各种不同的文章,有一件事我不太确定,那就是什么是Javascript模板引擎?他们的目的是什么?如果有人能解释这一点,那就太好了

谢谢
Kyle

有不同类型的模板。基本上,这个想法是让一些字符串包含值的占位符作为输入,并使用一些函数将这些占位符替换为实际值。比如:

var str = 'Hello $1';
现在您可以编写一个javascript函数来替换
$1

function printFromTemplate(){
  var args = Array.prototype.slice.call(arguments),
      str = args[0],
      repl = args.slice(1);

  function replacer(a){
     var aa = parseInt(a.substr(1),10)-1;
     return repl[aa];
  }

  return str.replace(/(\$\d+)/g,replacer) );
}
然后像这样使用它:

printFromTemplate(str,'world'); //=> Hello world
printFromTemplate('Hello $1, it\'s a really $2 day today','world','sunny'); 
       //|=> Hello world, it's a really sunny day today
[编辑]读取外部函数后,将匿名替换函数替换为命名外部函数