zoukankan      html  css  js  c++  java
  • js字符串格式化扩展方法

      平时使用js的时候会遇到很多需要拼接字符串的时候,如果是遇到双引号和单引号混合使用,经常会搞混。在C#中有string.Format方法,使用起来非常方便,也很容易理解,所以找到一种参考C#的format方法的实现js的字符串格式化。

      

    /** * 替换所有匹配exp的字符串为指定字符串 * @param exp 被替换部分的正则 * @param newStr 替换成的字符串 */
    String.prototype.replaceAll = function (exp, newStr) {
      return this.replace(new RegExp(exp, "gm"), newStr);
    };
    

      


    /** * 原型:字符串格式化 * @param args 格式化参数值 */ String.prototype.format = function(args) { var result = this; if (arguments.length < 1) { return result; } var data = arguments; // 如果模板参数是数组 if (arguments.length == 1 && typeof (args) == "object") { // 如果模板参数是对象 data = args; } for ( var key in data) { var value = data[key]; if (undefined != value) { result = result.replaceAll("\{" + key + "\}", value); } } return result; }

      

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

      记录下来,方便以后查阅。

  • 相关阅读:
    IndexDB
    实现es6中的set和map
    视口viewport
    nginx入门
    http协议
    图像格式
    promise
    js中this指向
    CSS 7阶层叠水平
    C# 一个方法如何返回多个值
  • 原文地址:https://www.cnblogs.com/caoming/p/6242027.html
Copyright © 2011-2022 走看看