JavaScript中字符串相加性能
在JavaScript中字符串组合相加,大家一般直接用+拼接起来.例如:
for(i=0; i<len; i++){
if(zdname != ""){
zdname += "#" + trNode.children.item(i).getAttribute("busPath");
}else{
zdname = trNode.children.item(i).getAttribute("busPath");
}
}
这种写法在数据量大的时候是没有问题的,但是如果循环次数太大就存在性能问题,同时在字符串拼接的时候还需要在循环内容做拼接前的判断。下面提供一种用数组拼接的方法。
首先第一个StringBuffer对象
function StringBuffer() {
var _parts = new Array();
}
StringBuffer.prototype.append = function (text) {
if ((text == null) || (typeof(text) == 'undefined')) {
return this;
}
if ((typeof(text) == 'string') && (text.length == 0)) {
return this;
}
_parts.push(text);
return this;
}
StringBuffer.prototype.toString = function(delimiter) {
return _parts.join(delimiter || '');
}
使用的方法是:
var buffer = new StringBuffer();
for(i=0; i<len; i++){
buffer.append(trNode.children.item(i).getAttribute("busPath"));
}
zdname = buffer.toString("#");
这样无论在编写清晰 还是性能都是很不错的选择。
相关文档:
///
<summary>
///
一些常用的Javascript方法
///
</summary>
public
static
class
Jscript
{
///
<summary>
///
弹出提示框
///
</summary>
public
static
void
Alert(Page page ......
// =========================================================
var XEDITOR_STATUS_NOTLOADED = 0;
var XEDITOR_STATUS_ACTIVE = 1;
var XEDITOR_STATUS_COMPLETE = 2;
var XEDITOR_TRISTATE_OFF = 0;
var XEDITOR_TRISTATE_ON = 1;
var XEDITOR_TRISTATE_DISABLED = -1;
var XEDITOR_UNKNOWN = -9;
var ......
selected控件:在js中的设置是默认是 selected=true
button和checkbox的可用性设置: disabled=true
text文件的只读属性:readOnly
在存在Iframe的时候在需要控制外部数据的时候需要用到 parent
对象没有length属性,只有数组有length长度
在js中可以对对象随意赋属性,如果该属性没有值则为undefined
sortArra ......
javascript里面没有现成的字符串转成日期和时间类型的函数,只能利用new Date(y,m,d,h,i,s,ms)或者其它相似的函数进行转化
以下是一个示例
alert(strToDate('2009/1/5 16:40'));
//字符串转日期类型
function strToDate(str) {
var re=/^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2})$/g
if(re.tes ......
from http://news.csdn.net/a/20100424/218105.html
JavaScript 的成功让人津津乐道,为 Web 网页编写 JavaScript 代码已经是所有 Web 设计师的基本功,这门有趣的语言蕴藏着许多不为人熟知的东西,即使多年的 JavaScript 程序员,也未能完全吃透。本文从7个方面讲述 JavaScript 中那些你不很熟知但非常实用的技巧。
......