网上看到的一个javascript例子,通过javascript对象封装处理,感觉这种思想不错,特拿来学习 /******************************************************* * JavaScript的StringBuffer工具 * Date:2011/4/20 *******************************************************/ function StringBuffer() { this.str = ""; this.objArray = new Array(); this.append = function (s) { if (this.length() == 0) { this.objArray[0] = s; } else { this.objArray[this.length() + 1] = s; } }; this.toString = function () { if (this.length() == 0) { return ""; } else { return this.objArray.join(""); } }; this.chatAt = function (s) { if (this.toString() != "") { return this.toString().indexOf(s); } }; this.clear = function () { if (this.length() != 0) { this.objArray.length = 0; } }; this.length = function () { return this.objArray.length; }; this.substring = function (start, end) { if (start > 0 || start == 0) { if (end <= this.length() && (end > start)) { return this.toString().substring(start, end); } else { alert("JavaScriptException:IndexOutOfBounds"); return null; } } else { alert("JavaScriptException:IndexOutOfBounds"); return null; } }; this.toArray = function () { var tempArray = this.objArray.join(","); return tempArray.split(","); }; this.setcharAt = function (charIndex, str) { if (charIndex < 0 || charIndex > this.length()) { alert("JavaScriptException:IndexOutOfBounds"); return null; } else { this.objArray[charIndex] = str; } return this.toString(); }; this.replace = function (oldchar, newchar) { var foundChar = this.toString().indexOf(oldchar); if (foundChar < 0) { alert("JavaScriptException:not found oldchar"); return null; } else { return this.toString().replace(oldchar, newchar); } }; }