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 相关文章推荐
深入分析JQuery和JavaScript的异同
Oct 23 Javascript
让图片跳跃起来  javascript图片轮播特效
Feb 16 Javascript
第三章之Bootstrap 表格与按钮功能
Apr 25 Javascript
jQuery对象与DOM对象转换方法详解
May 10 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
Dec 25 jQuery
vue计算属性时v-for处理数组时遇到的一个bug问题
Jan 21 Javascript
JS 使用 window对象的print方法实现分页打印功能
May 16 Javascript
JavaScript常见鼠标事件与用法分析
Jan 03 Javascript
原生js添加一个或多个类名的方法分析
Jul 30 Javascript
VSCode搭建Vue项目的方法
Apr 30 Javascript
浅谈vue中resetFields()使用注意事项
Aug 12 Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
Oct 16 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 Ajax乱码
2008/04/09 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
php中文验证码实现方法
2015/06/18 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
nodejs入门教程五:连接数据库的方法分析
2017/04/24 NodeJs
vue-cli4项目开启eslint保存时自动格式问题
2020/07/13 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
Python匹配中文的正则表达式
2016/05/11 Python
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
Django 自定义分页器的实现代码
2019/11/24 Python
详解Python IO口多路复用
2020/06/17 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
巴西最大的玩具连锁店:Ri Happy
2020/06/17 全球购物
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
市场营销专业推荐信
2013/11/03 职场文书
小学社会实践活动总结
2014/07/03 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
社区综治工作汇报
2014/10/27 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
餐厅开业活动方案
2019/07/08 职场文书
导游词之沈阳植物园
2019/11/30 职场文书