摘要:概要摘录的的模板的部分代码,整理一下解析模板的思路。重点在正则的用法的掌握。
概要:摘录的jquery的模板的部分代码,整理一下解析模板的思路。重点在正则的用法的掌握。
分析代码内容解析后代码:
Name:""
(function anonymous(obj) { var p = [] , print = function() { p.push.apply(p, arguments); }; with (obj) { p.push("解析部分
"); for (i = 0; i < users.length; ++i) { p.push(" Name:"", users[i].name, " "
"); } p.push(" "); } return p.join(""); } )
//匹配部分 str.replace(/[ ]/g, " ") // 将回车,换行,制表符 替换成空格,将代码拍平 .split("<--").join(" ") //将替换部分的开始符替换成 ,不要纠结,下面会解释为什么这么做 .replace(new RegExp("((^|-->)[^ ]*)"", "g"), "$1 ") //不以 开头的字符(可以没有)+"或者--> + 以外的字符(可以没有)+" ,如果满足条件,$1 里的$1为前面()的部分,相当于将"替换为 .replace(new RegExp(" =(.*?)-->", "g"), "",$1,"") // 为前面的<--,匹配下面模板中的 ,替换内容",$1," 即()内匹配到的users[i].name 加上前缀",和后缀," .split(" ").join("");") //不符合上面规则的 即<--替换为"); .split("-->").join("p.push("") //不符合上面规则的-->替换为p.push("); .split(" ").join("""); //第三行将"替换为",此处再替换回" //模板部分
//<-- 变为了"); --> 变为p.push(" Name:"" //此处的"变为了" 被规则匹配为",users[i].name,"的单词分隔符
//<-- 变为了"); --> 变为p.push("
所以有两种用法,一种是承前启后 <-- 变为了"); --> 变为p.push("一种是分隔字符 ",$1,"
文例子出处:JavaScript Micro-Templating
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/99758.html
摘要:看起来没有集合框架,线程,等那么耀眼,但它可是很多框架的基础啊回复反射查看相关文章,先把基础学会,后面的得用到它。 回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般, 但是分享下我的心得,估计也能帮大家少走点弯路。[入门]我在2001年之前是C/C++阵营, 有C和面向对象的基础, 后来转到Java ,发现没有指针的Java真是好简单, 另外Java 的类库好用的让...
摘要:前言月份开始出没社区,现在差不多月了,按照工作的说法,就是差不多过了三个月的试用期,准备转正了一般来说,差不多到了转正的时候,会进行总结或者分享会议那么今天我就把看过的一些学习资源主要是博客,博文推荐分享给大家。 1.前言 6月份开始出没社区,现在差不多9月了,按照工作的说法,就是差不多过了三个月的试用期,准备转正了!一般来说,差不多到了转正的时候,会进行总结或者分享会议!那么今天我就...
阅读 2511·2021-09-26 10:18
阅读 3386·2021-09-22 10:02
阅读 3183·2019-08-30 15:44
阅读 3325·2019-08-30 15:44
阅读 1831·2019-08-29 15:25
阅读 2572·2019-08-26 14:04
阅读 2035·2019-08-26 12:15
阅读 2437·2019-08-26 11:43