我们接着上一篇的继续,在上一篇我们完成了工具库的架构,本文扩展字符串去空格的方法, 一共有3个
1,trimLeft: 去除字符串左边的空格
2,trimRight: 去除字符串右边的空格
3,trim: 去除字符串两边的空格
1 ; (function (window, undefined) { 2 function init(obj, s) { 3 if (s !== null && s !== undefined) { 4 if (typeof s === 'string') { 5 obj.s = s; 6 } else { 7 obj.s = s.toString(); 8 } 9 } else { 10 obj.s = s; 11 } 12 } 13 14 function G(s) { 15 init(this, s); 16 } 17 18 function GhostWu(s) { 19 return new G(s); 20 } 21 22 var sProto = String.prototype; 23 G.prototype = { 24 constructor: G, 25 capitalize: function () { 26 return new this.constructor(this.s.slice(0, 1).toUpperCase() + this.s.substring(1).toLowerCase()); 27 }, 28 trimLeft : function () { 29 var s; 30 if (sProto.trimLeft === 'undefined') 31 s = this.s.trimLeft(); 32 else 33 s = this.s.replace(/^s+/g, ''); 34 return new this.constructor(s); 35 }, 36 trimRight : function () { 37 var s; 38 if (sProto.trimRight === 'undefined') 39 s = this.s.trimRight(); 40 else 41 s = this.s.replace(/s+$/g, ''); 42 return new this.constructor(s); 43 }, 44 trim : function () { 45 var s; 46 if (typeof sProto.trim === 'undefined') { 47 s = this.s.replace(/^s+|s+$/g, ''); 48 } else { 49 s = this.s.trim(); 50 } 51 return new this.constructor(s); 52 } 53 }; 54 55 window.G = GhostWu; 56 })(window, undefined);
alert( '(' + G( ' ghostwu ' ).s + ')' );alert( '(' + G( ' ghostwu ' ).trim().s + ')' );alert( '(' + G( ' ghostwu ' ).trimLeft().trimRight().s + ')' );