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,实现插入排序实现代码
Jul 31 Javascript
详解JS函数重载
Dec 04 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
Feb 05 Javascript
深入分析JSON编码格式提交表单数据
Jun 25 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
Sep 01 Javascript
jQuery中设置form表单中action值的实现方法
May 25 Javascript
node.js实现复制文本到剪切板的功能
Jan 23 Javascript
angular过滤器实现排序功能
Jun 27 Javascript
js原生实现移动端手指滑动轮播图效果的示例
Jan 02 Javascript
150行Node.js实现的dns代理工具
Aug 02 Javascript
微信小程序实现发微博功能的示例代码
Jun 24 Javascript
js实现跳一跳小游戏
Jul 31 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程序?
2006/12/08 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
JS代码同步文本框内容的实例方法
2013/07/12 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
python中实现定制类的特殊方法总结
2014/09/28 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
Python多线程同步---文件读写控制方法
2019/02/12 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
python交易记录整合交易类详解
2019/07/03 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
Lookfantastic澳大利亚官网:英国知名美妆购物网站
2021/01/07 全球购物
市场部专员岗位职责
2013/11/30 职场文书
元旦红领巾广播稿
2014/02/19 职场文书
《穷人》教学反思
2014/04/08 职场文书
就业协议书的作用
2014/04/11 职场文书
施工安全承诺书
2014/05/22 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
后备干部推荐材料
2014/12/24 职场文书
召开会议通知范文
2015/04/15 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫