自己写的一个替换模板,如下是代码:
<html>
<div id="temp">
<p>{{text1}}</p>
<p>{{text2}}</p>
<p>{{text3}}</p>
</div>
</html>
<script>
var temp=function(template, data) {
return template.replace(/\{\{([\w\.]*)\}\}/g,function(str,key){
var v=data[key];
return v;
})
}
var Data={
text1:"a",
text2:"b",
text3:"d"
};
var Temp=document.getElementById("temp").innerHTML;
var html=temp(Temp,Data);
document.write(html);
</script>
显示结果:
{{text1}}
{{text2}}
{{text3}}
a
b
d;
**问题:如果没有加第一个return,显示的结果不是a,b,c,而是一个undefined;
请问是为什么呢?**
temp
函数 没有返回语句,默认return undefined
,赋值给html
PS:下次提问之前先搞好排版。。。