最近在项目中发现for循环+forin循环在遍历时的顺序是不同的,研究了好久才实现功能,这里把代码分享给大家一起学习下。
var str='尊敬的$owner$$sex$,您好!我是的客户服务经理$realname$,隶属于$areaname$,我的联系方式是$telephone$,有任务问题都可以联系我哦!' var obj={ owner:'阿刚', sex:'男', realname:'阿城', mobile:'15427283944', areacode:'42018500', taskid:1 }; function doit(){ var arr=str.split(/$/); var regexp=/^[A-Za-z]+[0-9]?[A-Za-z]?$/; for(var i= 0,len=arr.length;i<len;i++){ if(!regexp.test(arr[i])){ document.getElementById('dom').innerHTML+=arr[i]; }else{ for(rec in obj){ if(arr[i]==rec){ var sexStr=obj[arr[i]] ? obj[arr[i]] : ""; if(arr[i]=='sex' && obj[arr[i]]=='男'){ sexStr='先生'; }if(arr[i]=='sex' && obj[arr[i]]=='女'){sexStr='女士';} document.getElementById('dom').innerHTML+=sexStr; }else if(!obj[arr[i]]){ var input=document.createElement('input'); input.type='text'; input.setAttribute('id',arr[i]); input.placeholder=arr[i]; document.getElementById('dom').appendChild(input); break; } } } } }