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

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, 不做进一步处理。

时间: 2024-10-03 07:49:44

javascript模拟实现C# String.format函数功能代码_javascript技巧的相关文章

javascript中的prototype属性使用说明(函数功能扩展)_javascript技巧

这是一个比较特殊的属性,Javascript中的继承一般都依赖这属性实现. 在Javascript中,一切都是对象,字符串是对象,数组是对象,变量是对象,函数也是对象,所以才会允许['a','b','c'].push('d');这样的操作存在.类本身也是一个对象,也可以定义属性和方法: 复制代码 代码如下: function Test(){}; Test.str = 'str'; Test.fun = function(){return 'fun';}; var r1 = Test.str; /

跟我学习javascript的var预解析与函数声明提升_javascript技巧

1.var 变量预编译 JavaScript 的语法和 C .Java.C# 类似,统称为 C 类语法.有过 C 或 Java 编程经验的同学应该对"先声明.后使用"的规则很熟悉,如果使用未经声明的变量或函数,在编译阶段就会报错.然而,JavaScript 却能够在变量和函数被声明之前使用它们.下面我们就深入了解一下其中的玄机. 先来看一段代码: (function() { console.log(noSuchVariable);//ReferenceError: noSuchVari

JavaScript实现搜索框的自动完成功能(一)_javascript技巧

在很多需要搜索的网站, 都会有一个自动完成的搜索框. 方便用户查找他们想要的搜索词. 帮助用户快速找到自己想要的结果. 这种方式是比较友好的. 所以是比较提倡使用的. 先给大家展示下效果图: 实现这个功能需要服务端配合.客户端通过脚本来展示从服务端取得的数据. 先看客户端的HTML: 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DT

用Javascript实现Sleep暂停功能代码_javascript技巧

复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript"> <!-- function Sleep(obj,iMinSecond) { if (window.eventList==null) window.eventList=new Array(); var ind=-1; for (var i=0;i<window.eventList.length;i++) { if (window.eventList[i]==null) { wind

Javascript 是你的高阶函数(高级应用)_javascript技巧

在通常的编程语言中,函数的参数只能是基本类型或者对象引用,返回值也只是基本数据类型或对象引用.但在Javascript中函数作为一等公民,既可以当做参数传递,也可以被当做返回值返回.所谓高阶函数就是可以把函数作为参数,或者是将函数作为返回值的函数.这两种情形在实际开发中有很多应用场景,本文是我在工作学习中遇到的几种应用场景的总结. 回调函数 代码复用是衡量一个应用程序的重要标准之一.通过将变化的业务逻辑抽离封装在回调函数中能够有效的提高代码复用率.比如ES5中为数组增加的forEach方法,遍历

Javascript json object 与string 相互转换的简单实现_javascript技巧

Javascript json object 与string 相互转换的简单实现 function obj2str(o){ var r = []; if(typeof o == "string" || o == null) { return o; } if(typeof o == "object"){ if(!o.sort){ r[0]="{" for(var i in o){ r[r.length]=i; r[r.length]=":

Javascript实现Array和String互转换的方法_javascript技巧

本文实例讲述了Javascript实现Array和String互转换的方法.分享给大家供大家参考,具体如下: Array类可以如下定义: 复制代码 代码如下: var aValues = new Array(); 如果预先知道数组的长度,可以用参数传递长度 复制代码 代码如下: var aValues = new Array(20); 如下2种定义方式是一样的 方式1: var aColors = new Array(); aColors[0] = "red"; aColors[1]

学习javascript的闭包,原型,和匿名函数之旅_javascript技巧

本文通过示例给大家介绍javascript的闭包,原型,和匿名函数,具体详情请看下文. 一 .>关于闭包 理解闭包 需要的知识 1.变量的作用域 例1: var n =99; //建立函数外的全局变量 function readA(){ alert(n); //读取全局变量 } readA(); //执行此函数 例2: function readB(){ var c = 9; function readC(){ console.log(c); //ok c可见 } return readC; }

JavaScript实现同时调用多个函数的方法_javascript技巧

本文实例讲述了JavaScript实现同时调用多个函数的方法.分享给大家供大家参考,具体如下: 这里分析JavaScript 同时调用同一网页内的多个函数的实现方法,点击按钮后执行多次函数,比如连续弹出多次窗口. 具体代码如下: <html> <head> <title>同时调用多个函数</title> <script language="javascript"> <!-- function fun1(){ alert(