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 相关文章推荐
ext监听事件方法[初级篇]
Apr 27 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
Jul 04 Javascript
Jquery:ajax实现翻页无刷新功能代码
Aug 05 Javascript
JSON无限折叠菜单编写实例
Dec 16 Javascript
jQuery实现表格行上移下移和置顶的方法
May 22 Javascript
javascript实现类似java中getClass()得到对象类名的方法
Jul 27 Javascript
javascript实现动态标签云
Oct 16 Javascript
jQuery中DOM节点删除之empty与remove
Jan 20 Javascript
JavaScript实现公历转农历功能示例
Feb 13 Javascript
原生JS控制多个滚动条同步跟随滚动效果
Dec 22 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
Oct 02 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
Jun 17 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 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
PHP合并数组函数array_merge用法分析
2017/02/17 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
jQuery 使用手册(一)
2009/09/23 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
跟我学习javascript解决异步编程异常方案
2015/11/23 Javascript
jquery插件jquery.confirm弹出确认消息
2015/12/22 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
轮播的简单实现方法
2016/07/28 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
Python二次规划和线性规划使用实例
2019/12/09 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
任命书格式
2014/06/05 职场文书
68句权威创业名言
2019/08/26 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
BCL经典机 SONY ICF-5900W电路分析
2022/04/24 无线电