猿问

这两个方法中有这个each()方法吗?下边这段代码这如何理解?

首先:非套答案,确实有点看不,确实有点看不明白,求解!
functiongetMatchedData(data,match){
varresult=data;
varattrs=_______;
attrs.each(function(obj){
result=typeofresult=='object'&&result.hasOwnProperty(obj)?_____:______;
});
result=typeofresult=="undefind"?"":result;
returnresult;
}
functiontemplateDataMapping(temp,data){
if(temp){
varmatches=temp.match(/{{[a-z_A-Z](\w+)?([\.][a-z_A-Z](\w+)?)*}}/g);
matches.each(function(index,match){
temp=temp.replace(match,getMatchedData(data,match.substring(2,match.length-2)));
})
}
returntemp;
}
慕容3067478
浏览 382回答 2
2回答

侃侃无极

这应该是一个实现moustache语法,首先不能写each应该是forEach,而且其中有一个undefined你写错了。第一个空应该是个数组也就是match.split('.'),第二个很明显是result[obj],然后第三个是undefined。

呼啦一阵风

上面的方法遍历的参数attrs是对象,所以each方法中的参数obj是对象,下面方法遍历的参数matchs是正则匹配后返回的数组,是一个数组,所以each的参数是index索引和match索引对应的值。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答