查看: 2101|回复: 0

[JavaScript/JQuery] 模板字符串的简单实现

发表于 2018-3-17 08:00:01
实现方法 render(tmpl, data),将模板 tmpl 中的占位符,替换填充为 data 数据
  1. const tmpl = "I'm {{name}}. I'm {{age}} years old.";
  2. const data = { name: "Lucy", age: "23" };
  3. // --> const result = "I'm Lucy. I'm 23 years old.";
复制代码
版本一
  1. function render(tmpl, data) {
  2. return tmpl.replace(/\{\{(.*?)\}\}/g, (match, key) => data[key.trim()]);
  3. }
  4. const result = render(tmpl, data);
复制代码
版本二
  1. String.prototype.render = function (data) {
  2. return this.replace(/{{(.*?)}}/g, (match, key) => data[key.trim()]);
  3. };
  4. const result = tmpl.render(data);
复制代码

转自:一行代码实现一个简单的模板字符串替换



回复

使用道具 举报