1.string.replace常用来通过正则表达式来替换字符串的某个或某些字符,形成一个新的字符串,例如:
2.其实它还有更强大的功能,那就是模板编译,此时需要传入一个回调函数作为其第二个参数,第一个参数仍然为一个正则表达式,例如
let template='<div data-id={{id}}>{{name}}</div>'; let newstr=template.replace(/{{(w+)}}/g,function(node,key){ console.log('key',key)//匹配到的模板中的变量名 console.log('node',node)//匹配到的内容 return { name:'june', id:1 }[key] }) console.log(newstr) //编译后的模板
控制台结果如下: