侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

格式化字符串拼接与format函数应用

2024-05-09 星期四 / 0 评论 / 0 点赞 / 92 阅读 / 3187 字

字符串格式化 // 让人难以理解的拼接: var str = '<div id="' + id + '" class=" + className + ">' + html + '</di

字符串格式化

 // 让人难以理解的拼接:        var str = '<div id="' + id + '" class=" + className + ">' + html + '</div>';
    // 使用格式化:    var tpl = '<div id="${0}" class="${1}">${2}</div>',        str = baidu.format(tpl,                           id,                           className,           ...
    String.prototype.format = function (args) {        if (arguments.length > 0) {//参数大于0            var result = this;//result=当前调用的对象            if (arguments.length == 1 && typeof (args) == "object") {//只有一个参数传入                for (var key in args) {                    var reg = new RegExp("({" + key + "})", "g");//正则匹配所有/**replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。*语法*    stringObject.replace(regexp/substr,replacement)*regexp/substr	*    必需。规定子字符串或要替换的模式的 RegExp 对象。*    请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为             *    RegExp对象。*    replacement必需。一个字符串值。规定了替换文本或生成替换文本的函数。*/      result = result.replace(reg, args[key]);                }            }            else {                for (var i = 0; i < arguments.length; i++) {                    if (arguments[i] == undefined) {                        return "";                    }                    else {                        var reg = new RegExp("({[" + i + "]})", "g");                        result = result.replace(reg, arguments[i]);                    }                }            }            return result;        }        else {            return this;        }    };

上是formatd代码,将参数字符串参数转化为对象 进行格式化拼接

下面是调用方法

 //两种调用方式   var template1="我是{0},今年{1}了";   var template2="我是{name},今年{age}了";   var result1=template1.format("lilei1111",22);   var result2=template2.format({name:"lilei",age:22});  //两个结果都是"我是loogn,今年22了"

字符串格式化话拼接如下:

 var tpl = '<div id="{0}" class="{1}">{2}</div>',            str =tpl.format(                    "d1",                    "play-btn",                    "<i>这是i</i>");   document.write(str);
    var tpl = '<div id="{id}" class="{class}">{text}</div>',            str =tpl.format(                    {id:"d1",                    class:"play-btn",                    text:"<i>这是i</i>"});    document.write(str);

广告 广告

评论区