📄 builder.js
字号:
/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.string.Builder");dojo.require("dojo.string");dojo.require("dojo.lang.common");// NOTE: testing shows that direct "+=" concatenation is *much* faster on// Spidermoneky and Rhino, while arr.push()/arr.join() style concatenation is// significantly quicker on IE (Jscript/wsh/etc.).dojo.string.Builder = function(/* string? */str){ // summary this.arrConcat = (dojo.render.html.capable && dojo.render.html["ie"]); var a = []; var b = ""; var length = this.length = b.length; if(this.arrConcat){ if(b.length > 0){ a.push(b); } b = ""; } this.toString = this.valueOf = function(){ // summary // Concatenate internal buffer and return as a string return (this.arrConcat) ? a.join("") : b; // string }; this.append = function(){ // summary // Append all arguments to the end of the internal buffer for(var x=0; x<arguments.length; x++){ var s = arguments[x]; if(dojo.lang.isArrayLike(s)){ this.append.apply(this, s); } else { if(this.arrConcat){ a.push(s); }else{ b+=s; } length += s.length; this.length = length; } } return this; // dojo.string.Builder }; this.clear = function(){ // summary // Clear the internal buffer. a = []; b = ""; length = this.length = 0; return this; // dojo.string.Builder }; this.remove = function(/* integer */f, /* integer */l){ // summary // Remove a section of string from the internal buffer. var s = ""; if(this.arrConcat){ b = a.join(""); } a=[]; if(f>0){ s = b.substring(0, (f-1)); } b = s + b.substring(f + l); length = this.length = b.length; if(this.arrConcat){ a.push(b); b=""; } return this; // dojo.string.Builder }; this.replace = function(/* string */o, /* string */n){ // summary // replace phrase *o* with phrase *n*. if(this.arrConcat){ b = a.join(""); } a = []; b = b.replace(o,n); length = this.length = b.length; if(this.arrConcat){ a.push(b); b=""; } return this; // dojo.string.Builder }; this.insert = function(/* integer */idx, /* string */s){ // summary // Insert string s at index idx. if(this.arrConcat){ b = a.join(""); } a=[]; if(idx == 0){ b = s + b; }else{ var t = b.split(""); t.splice(idx,0,s); b = t.join("") } length = this.length = b.length; if(this.arrConcat){ a.push(b); b=""; } return this; // dojo.string.Builder }; this.append.apply(this, arguments);};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -