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 字符串拼接的功能, 希望对大家有所帮助, 如果大家有任何疑问请给我留言, 小编会及时回复大家的在此也非常感谢大家对脚本之家网站的支持!
来源: http://www.jb51.net/article/136146.htm