日期:2014-05-16 浏览次数:20369 次
方法一:
个人认为最好的方法.采用的是正则表达式,这是最核心的原理.
其次.这个方法使用了JavaScript 的prototype 属性
其实你不使用这个属性一样可以用函数实现.但这样做后用起来比较方便.
下面就来看看这个属性是怎么来用的.
?
返回对象类型原型的引用。
objectName.prototype
objectName 参数是对象的名称。
说明
用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。
例如,要为 Array 对象添加返回数组中最大元素值的方法。要完成这一点,声明该函数,将它加入 Array.prototype,并使用它。
function array_max() { var i, max = this[0]; for (i = 1; i < this.length; i++) { if (max < this[i]) max = this[i]; } return max; } Array.prototype.max = array_max; var x = new Array(1, 2, 3, 4, 5, 6); var y = x.max();
??
?
该代码执行后,y 保存数组 x 中的最大值,或说 6。
所有 JScript 内部对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。
本语言参考中每个内部对象的方法和属性列表指出哪些是对象原型的部分,哪些不是。
下面是代码原文
?
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, ""); }
function LTrim(str) { // 去掉字符串 的头空格 var i; for (i = 0; i < str.length; i++) { if (str.charAt(i) != " ") { break; } str = str.substring(i, str.length); } return str; } function RTrim(str) { var i; for (i = str.length - 1; i >= 0; i--) { if (str.charAt(i) != " ") { break; } str = str.substring(0, i + 1); } return str; } function Trim(str) { return LTrim(RTrim(str)); }
// Description: sInputString 为输入字符串,iType为类型,分别为 // 0 - 去除前后空格; 1 - 去前导空格; 2 - 去尾部空格 //**************************************************************** function cTrim(sInputString, iType) { var sTmpStr = ' ' var i = -1 if (iType == 0 || iType == 1) { while (sTmpStr == ' ') { ++i sTmpStr = sInputString.substr(i, 1) } sInputString = sInputString.substring(i) } if (iType == 0 || iType == 2) { sTmpStr = ' ' i = sInputString.length while (sTmpStr == ' ') { --i sTmpStr = sInputString.substr(i, 1) } sInputString = sInputString.substring(0, i + 1) } return sInputString }?