【发布时间】:2009-07-01 14:27:40
【问题描述】:
在我网站的一个页面上,用户可以通过在下拉列表中选择多个字符串表示来选择和删除多达 2000 个项目。
在页面加载时,对象会从前一个会话加载到页面上,并放入 7 个不同的下拉列表中。 在 window.onload 事件中,循环遍历下拉列表中的项目的函数通过将对象添加到全局数组来生成对象的内部集合 - 这使得页面加载速度非常慢,所以,我很确定可能做错了!
我还应该如何存储这些变量?
这是他们的内部表示:
function Permission(PName, DCID, ID) {
this.PName = PName;
this.DCID = DCID;
this.ID = ID;
}
其中:PName 是字符串。 DCID 是整数。 ID 是整数。
编辑:
感谢您的快速回复!感谢您的帮助,我对 JS 不是很好!这里有更多信息:
'selectChangeEvent' 被添加到下拉列表的 Change 和 Click 事件中。
function selectChangeEvent(e) {
//...
addListItem(id);
//...
}
'addListItem(id)' 设置对象的可视化表示,然后调用:
function addListObject(x, idOfCaller) {
var arIDOfCaller = idOfCaller.toString().split('-');
if (arIDOfCaller[0] == "selLocs") {
var loc = new AccessLocation(x, arIDOfCaller[1]);
arrayLocations[GlobalIndexLocations] = loc;
GlobalIndexLocations++;
totalLocations++;
}
else {
var perm = new Permission(x, arIDOfCaller[1], arIDOfCaller[2]);
arrayPermissions[GlobalIndexPermissions] = perm;
GlobalIndexPermissions++;
totalPermissions++;
}
}
【问题讨论】:
-
请向我们展示整个 onload 函数,尤其是循环,即有问题的代码
标签: javascript memory variables performance