善用Javascript的prototype属性,自定更多实用工具函数

本文介绍了一种在JavaScript中实现类似C#或Java的String.format方法的技术。通过两种方式为String对象添加format方法:一是利用Prototype属性,二是直接定义静态方法。这两种方法均可实现字符串模板与变量的动态结合。
 1 //利用Prototype属性为String对象添加一个方法
 2 
 3 String.prototype.format = function()
 4 {
 5     var args = arguments;
 6     return this.replace(/\{(\d+)\}/g,                
 7         function(m,i){
 8             return args[i];
 9         });
10 }
11 
12  
13 
14 //利用js对象的特性,动态添加对象属性并赋于方法体,实现类同于C#、JAVA等语言的String.format方法。
15 
16 String.format = function() {
17     if( arguments.length == 0 )
18         return null;
19 
20     var str = arguments[0]; 
21     for(var i=1;i<arguments.length;i++) {
22         var re = new RegExp('\\{' + (i-1) + '\\}','gm');
23         str = str.replace(re, arguments[i]);
24     }
25     return str;
26 }
27 
28 var a = "I Love {0}, and You Love {1},Where are {0}! {4}";
29 alert(String.format(a, "You","Me"));
30 
31 alert(a.format("You","Me"));

转载于:https://www.cnblogs.com/uppower/archive/2012/09/21/2696271.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值