Q:String.prototype.trim是做什么用的?
A:为String对象增加一个trim方法。
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <style type="text/css"> 7 .text_page{line-height:28px;} 8 </style> 9 10 </head> 11 <body> 12 <div class="text_page"> 13 <b>/(^s*)|(s*$)/g的解释:</b> 14 ^表示字符串必须以后面的规则开头, 在这里就是说字符串必须以s*开头.<br> 15 s 是空格的意思, * 表示有0个或多个<br> 16 s* 就是有0个或多个空格<br> 17 (^s*) 表示的就是以0个空格或者多个空格开头<br> 18 | 表示或的意思, 也就是满足| 左边的也成立, 满足 | 右面的也成立.<br> 19 s*前面说过了<br> 20 $ 的意思是字符串必须以前面的规则结尾<br> 21 (s*$) 的意思就是, 以0个空格或者多个空格结尾<br> 22 /.../g 是正则表达式的属性, 表示全文匹配, 而不是找到一个就停止.<br> 23 所以这个正则表达式替换的就是前导空格和后导空格<br> 24 因为有前导空格, 就说明以0个或多个空格开头, 满足正则表达式中 | 前面的条件: (^s*)<br> 25 而如果有后导空格, 就说明以0个或多个空格结尾, 满足正则表达式中 | 后面的条件: (s*$)<br> 26 </div> 27 </body> 28 </html> 29 <script type="text/javascript"> 30 /** 31 * 这里是定义 32 * @description : 去掉字符串两边的空格 33 * @type : String.prototype.trim 34 */ 35 String.prototype.trim = function() { 36 return this.replace(/(^s*)|(s*$)/g, ""); 37 } 38 39 var str = " mycodeing "; 40 str = str.trim(); // s是个String,可以使用刚定义的trim方法。 41 console.log(str); 42 </script>