javascript模拟实现C# String.format函数功能代码


Posted in Javascript onNovember 25, 2013

C# string.format这个功能用到的地方比较多, 所以就用js实现了一个简单的版本 :

String.format = function ()
        {
            var formatStr = arguments[0];
            if ( typeof formatStr === 'string' )
            {
                var pattern,
                    length = arguments.length;
                for ( var i = 1; i < length; i++ )
                {
                    pattern = new RegExp( '\\{' + ( i - 1 ) + '\\}', 'g' );
                    formatStr = formatStr.replace( pattern, arguments[i] );
                }
            } else
            {
                formatStr = '';
            }
            return formatStr;
        };

以上代码给javascript String类加了一个静态方法 format, 然后其用法就和c#的 string.format一模一样了, 测试如下:

String.format('http://wcf.open.a.com/blog/sitehome/paged/{0}/{1}',1,20)
输出: "http://wcf.open.a.com/blog/sitehome/paged/1/20"
String.format('{0}+{0}+{1}={2}',1,2,1+1+2)
输出: "1+1+2=4"
String.format({name:'leonwang'},'hello,world')
输出: ""

如果第一个参数不是string类型, 就简单返回空string, 不做进一步处理。

Javascript 相关文章推荐
js 点击按钮弹出另一页,选择值后,返回到当前页
May 26 Javascript
JQuery下的Live方法和$.browser方法使用代码
Jun 02 Javascript
jQuery.extend 函数详解
Feb 03 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
May 14 Javascript
jquery获取当前元素索引值用法实例
Jun 10 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
Sep 20 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 Javascript
js案例之鼠标跟随jquery版(实例讲解)
Jul 21 jQuery
探究react-native 源码的图片缓存问题
Aug 24 Javascript
node.js操作MongoDB的实例详解
Oct 11 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
Dec 11 Javascript
详解React服务端渲染从入门到精通
Mar 28 Javascript
js给onclick赋值传参数的两种方法
Nov 25 #Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 #Javascript
写JQuery插件的基本知识
Nov 25 #Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
Nov 25 #Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 #Javascript
如何通过javascript操作web控件的自定义属性
Nov 25 #Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 #Javascript
You might like
PHP 一个随机字符串生成代码
2010/05/26 PHP
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
js给selected添加options的方法
2015/05/06 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
原生js实现自定义消息提示框
2020/11/19 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python中的迭代器漫谈
2015/02/03 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
Python模块的加载讲解
2019/01/15 Python
python 实现屏幕录制示例
2019/12/23 Python
python实现马丁策略的实例详解
2021/01/15 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
John Varvatos官方网站:设计师男士时装
2017/02/08 全球购物
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
给医务人员表扬信
2014/01/12 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
优秀德育工作者事迹材料
2014/05/07 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
《中国机长》观后感:敬畏生命,敬畏职责
2019/11/12 职场文书
PL350与SW11的比较
2021/04/22 无线电
基于Redis位图实现用户签到功能
2021/05/08 Redis
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技