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)];
            });
        }

  • 相关阅读:
    [译]rabbitmq 2.1 Consumers and producers (not an economics lesson)
    mysql存储过程执行权限问题
    修改linux端口范围 ip_local_port_range
    centos6 自启动任务
    randomize_va_space
    linux 捕获信号处理中遇到的死锁
    squid基础配置
    [转]你应该了解的 一些web缓存相关的概念
    libevent简介 构成
    Libevent windows/linux下编译
  • 原文地址:https://www.cnblogs.com/charling/p/3332188.html
Copyright © 2011-2022 走看看