zoukankan      html  css  js  c++  java
  • 学习坤哥的replaceTpl方法

    学习坤哥的方法之后自己写的replaceTpl

    function replaceTpl(tpl, data){///////////////没有传入可让用户自己定义的方式进行替换,不够灵活
                    var reg = /{([^}*])}/g,
                        trim = String.trim || function(str){
                            str = str.replace(/^s+|s+$/g, "");
                            return str;
                        }
                    tpl = tpl.replace(reg, function(str, key){///////////str,key是replace方法自动传入的,str是reg匹配的字符串,

                              ////key是第一个捕获组捕获的字符串,还可以传入第二、三,,,个捕获组捕获的字符串
                        str = data[trim(key)];  ///////////////多次的赋值使代码繁琐
                        return str;
                    });
                    return tpl;
                }

    坤哥的replaceTpl

    replaceTpl: function (tpl, data, label) {
            var t = String(tpl),/////////////////不明白为什么要进行这一步处理。
                s = label || /#{([^}]*)}/mg,
                trim = String.trim ||
                    function (str) {
                        return str.replace(/^s+|s+$/g, '')
                    };
            return t.replace(s, function (value, name) {
                //从模板获取name,容错处理
                return value = data[trim(name)];
            });
        }

  • 相关阅读:
    Java中String与byte[]的转换
    移动端界面设计之尺寸篇(更新)
    移动端开发必晓
    sublime 之 vitage/emmet
    Sublime Text3工具的安装、破解、VIM功能vintage插件教程
    Sublime Text 3 快捷键总结
    iPhone Safari下iframe不显示滚动条无法滚动的解决方法
    名片设计尺寸及名片设计的注意事项
    转:『引』最全前端资源汇集
    (转)详解css3弹性盒模型(Flexbox)
  • 原文地址:https://www.cnblogs.com/charling/p/3332188.html
Copyright © 2011-2022 走看看