1、题外话,有关概念理解:String.prototype 属性表示 String原型对象。所有 String 的实例都继承自 String.prototype. 任何String.prototype上的改变都会影响到所有的 String 实例。
2、上正文,js扩展String.prototype.format字符串拼接的功能,首先是基础功能的改造:
String.prototype.format = function(){ if(arguments.length==0){ return this; } for(var s=this, i=0; i<arguments.length; i++){ s = s.replace(new RegExp("\\{"+i+"\\}","g"), arguments[i]); } return s; };
3、然后就是调用方式:
//方式1 var test = '我的{0}是{1}'; var result = test.format('id','城市之光'); //方式2 var test = '我的{name1}是{name2}'; var result = test.format({name1:'id',name2:'城市之光'});
4、就这么简单,附带一个对trim()的扩展
String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }; String.prototype.ltrim = function() { return this.replace(/(^\s*)/g, ""); }; String.prototype.rtrim = function() { return this.replace(/(\s*$)/g, ""); }; //调用方式 var eg1 = $('#id').val().trim();
总结
以上所述是小编给大家介绍的JS扩展String.prototype.format字符串拼接的功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!