方法一:通过函数调用
函数:
String.format = function() { if (arguments.length == 0) return null; var str = arguments[0]; for ( var i = 1; i < arguments.length; i++) { var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm'); str = str.replace(re, arguments[i]); } return str; };
调用:
var a = "我喜欢吃{0},也喜欢吃{1},但是最喜欢的还是{0},偶尔再买点{2}"; alert(String.format(a, "苹果","香蕉","香梨")); // 运行结果:我喜欢吃苹果,也喜欢吃香蕉,但是最喜欢的还是苹果,偶尔再买点香梨
方法二:通过类型直接引用
函数:
String.prototype.format = function() { var result=this; if (arguments.length == 0) return null; for ( var i = 0; i < arguments.length; i++) { var re = new RegExp('\\{' + (i) + '\\}', 'gm'); result = result.replace(re, arguments[i]); } return result; };
调用:
alert("{0}----{1}".format("xx", "yy")); //作为字符串、字符变量的方法直接引用
参考资料:
http://www.cnblogs.com/taoweiji/archive/2013/08/15/3260883.html