首页 > return的用法,加了return和去掉return,结果完全不同

return的用法,加了return和去掉return,结果完全不同

自己写的一个替换模板,如下是代码:
<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;
请问是为什么呢?**


var html=temp(Temp,Data);

temp函数 没有返回语句,默认return undefined,赋值给html


PS:下次提问之前先搞好排版。。。

【热门文章】
【热门文章】