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中自定义模版
Jan 29 Javascript
javascript实时获取鼠标坐标值并显示的方法
Apr 30 Javascript
JS提交form表单实例分析
Dec 10 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
Jun 21 Javascript
基于AngularJS的拖拽文件上传的实例代码
Jul 15 Javascript
JS+Canvas绘制动态时钟效果
Nov 10 Javascript
浅谈React碰到v-if
Nov 04 Javascript
Vue-input框checkbox强制刷新问题
Apr 18 Javascript
Vue使用zTree插件封装树组件操作示例
Apr 25 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
Sep 06 Javascript
详解小程序横屏方案对比
Jun 28 Javascript
解决vue项目axios每次请求session不一致的问题
Oct 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新手上路(七)
2006/10/09 PHP
扩展你的 PHP 之入门篇
2006/12/04 PHP
PHP Cookie的使用教程详解
2013/06/03 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
CI框架附属类用法分析
2018/12/26 PHP
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
常用的js验证和数据处理总结
2016/08/02 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
Html5 localStorage入门教程
2018/04/26 HTML / CSS
HTML5自定义属性的问题分析
2019/08/16 HTML / CSS
Gweniss格温妮丝女包官网:英国纯手工制造潮流包包品牌
2018/02/07 全球购物
尼克松手表官网:Nixon手表
2019/03/17 全球购物
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
adidas爱尔兰官方网站:阿迪达斯运动鞋和运动服
2019/11/01 全球购物
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
公司外出活动方案
2014/08/14 职场文书
环境保护建议书
2014/08/26 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
一行代码python实现文件共享服务器
2021/04/22 Python