js中的string.format函数代码


Posted in Javascript onAugust 11, 2020

源于C#中的string.Format()

String.prototype.format = function(args) {
  if (arguments.length > 0) {
    var result = this;
    if (arguments.length == 1 && typeof(args) == "object") {
      for (var key in args) {
        var reg = new RegExp("({" + key + "})", "g");
        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;
  }
}

例:

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

下面分享一个作为字符串扩展的写法

String.format = function() {
  for (var a = arguments[0], b = 1; b < arguments.length; b++) a = a.replace(RegExp("\\{" + (b - 1) + "\\}", "ig"), arguments[b]);
  return a
};

以上就是js中的string.format函数代码的详细内容,更多关于js中的string.format的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
两个select之间option的互相添加操作(jquery实现)
Nov 12 Javascript
Array.prototype 的泛型应用分析
Apr 30 Javascript
javascript日期转换 时间戳转日期格式
Nov 05 Javascript
js清除input中type等于file的值域(示例代码)
Dec 24 Javascript
js获取浏览器基本信息大全
Nov 27 Javascript
使用jquery动态加载Js文件和Css文件
Oct 24 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
bootstrap警告框使用方法解析
Jan 13 Javascript
详解VueJs异步动态加载块
Mar 09 Javascript
vue打包后显示空白正确处理方法
Nov 01 Javascript
vue 中几种传值方法(3种)
Nov 12 Javascript
vue 二维码长按保存和复制内容操作
Sep 22 Javascript
关于html+ashx开发中几个问题的解决方法
Jul 18 #Javascript
TreeView 用法(有代码)(asp.net)
Jul 15 #Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
Jul 15 #Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
Jul 15 #Javascript
js实现addClass,removeClass,hasClass的函数代码
Jul 13 #Javascript
js下将字符串当函数执行的方法
Jul 13 #Javascript
JS高级笔记
Jul 13 #Javascript
You might like
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
php防止sql注入的方法详解
2017/02/20 PHP
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
使用javascript实现雪花飘落的效果
2015/01/13 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
python3.4中清屏的处理方法
2020/07/06 Python
中国制造网:Made-in-China.com
2019/10/25 全球购物
自我评价如何写好?
2014/01/05 职场文书
餐饮管理自我介绍信
2014/01/15 职场文书
《将心比心》教学反思
2014/04/08 职场文书
《小鹰学飞》教学反思
2014/04/23 职场文书
家长会欢迎标语
2014/06/24 职场文书
2015年信访工作总结
2015/04/07 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
深入理解python协程
2021/06/15 Python
Python借助with语句实现代码段只执行有限次
2022/03/23 Python