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