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 相关文章推荐
sina的lightbox效果。
Jan 09 Javascript
URL地址中的#符号使用说明
Feb 12 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
Oct 11 Javascript
Javascript中Array.prototype.map()详解
Oct 22 Javascript
学习Bootstrap滚动监听 附调用方法
Jul 02 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
Jul 22 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
Aug 29 Javascript
d3.js中冷门却实用的内置函数总结
Feb 04 Javascript
原生JS 实现的input输入时表格过滤操作示例
Aug 03 Javascript
js实现坦克移动小游戏
Oct 28 Javascript
基于vue-cli3创建libs库的实现方法
Dec 04 Javascript
微信小程序实现购物车小功能
Dec 30 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登录环节防止sql注入的方法浅析
2014/06/30 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
jquery ajax 登录验证实现代码
2009/09/23 Javascript
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
nodejs简单读写excel内容的方法示例
2018/03/16 NodeJs
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
Python爬取梨视频的示例
2021/01/29 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
Noon埃及:埃及在线购物
2019/11/26 全球购物
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
JSP&Servlet技术面试题
2015/05/21 面试题
新闻网站实习自我鉴定
2013/09/25 职场文书
营销总经理岗位职责
2014/02/02 职场文书
桥梁工程专业求职信
2014/04/21 职场文书
主持人演讲稿
2014/05/13 职场文书
班主任班级管理心得体会
2016/01/07 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书
mysql 8.0.24版本安装配置方法图文教程
2021/05/12 MySQL