实现返回 我的年龄是18 这个结果,my方法该怎么写
function my(string,data){
}
console.log(my('我的年龄是${age}',{
age:18
}))
实现返回 我的年龄是18 这个结果,my方法该怎么写
function my(string,data){
}
console.log(my('我的年龄是${age}',{
age:18
}))
function my(string, data) {
var reg = /\$\{\s*[\w]+\s*\}/g, // 匹配模板
strings = string.split(reg), // 根据reg切割string
argReg = /[^\$\{\}\s]+/, // 匹配模板内部的内容
args = string.match(reg), // 这里获取所有模板
returnStr = strings.shift(); // 返回的字符串,删除strings第一个元素并设置为默认值
// 遍历args
for (var i = 0; i < args.length; i++) {
// 先取到当前args元素中的属性名并从data中获取数据拼接字符串
returnStr += data[argReg.exec(args[i])] + strings[i];
}
return returnStr;
}