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 相关文章推荐
javascript实现的像java、c#之类的sleep暂停的函数代码
Mar 04 Javascript
javascript实现信息的显示和隐藏如注册页面
Dec 03 Javascript
javascript实现页面内关键词高亮显示代码
Apr 03 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
May 16 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
May 12 Javascript
VueJs与ReactJS和AngularJS的异同点
Dec 12 Javascript
Angularjs 与 bower安装和使用详解
May 11 Javascript
通过button将form表单的数据提交到action层的实例
Sep 08 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
Apr 24 Javascript
js String.prototype.trim字符去前后空格的扩展
Aug 23 Javascript
Vue和React有哪些区别
Sep 12 Javascript
js正则匹配markdown里的图片标签的实现
Mar 24 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/09/25 PHP
总结对比php中的多种序列化
2016/08/28 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
Javascript 去除数组的重复元素
2010/05/04 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
VUE前后端学习tab写法实例
2019/08/06 Javascript
ligerUI的ligerDialog关闭刷新的方法
2019/09/27 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
python函数参数*args**kwargs用法实例
2013/12/04 Python
linux下python抓屏实现方法
2015/05/22 Python
python实现数独算法实例
2015/06/09 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
联想中国官方商城:Lenovo China
2017/10/18 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
机电专业大学生职业规划书范文
2014/02/25 职场文书
幼儿园中班评语大全
2014/04/17 职场文书
法院先进个人事迹材料
2014/05/04 职场文书
会计系毕业生求职信
2014/05/28 职场文书
院系推荐意见
2015/06/05 职场文书
单位车辆管理制度
2015/08/05 职场文书
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技