运行此代码时会显示警报。 filtereditem
是DevExpress listboxcontrol。
existingItems是一个包含247个项目的数组。
function GetMessage(){
var deletedItems = '';
var count = existingItems.length;
for (var i = 0; i < count; i++) {
var item = existingItems[i].text;
if (!filtereditem.FindItemByText(item)) {
if (deletedItems != '') {
deletedItems = deletedItems + ', ' + item;
}
else {
deletedItems = item;
}
}
}
return deletedItems;
}
答案 0 :(得分:2)
“停止运行此脚本?”通常会触发警报,因为您的某些脚本代码需要很长时间才能执行。
假设通过调用您已提供代码的{{1}}函数触发警报,我可以为您提供以下建议:
此功能中有GetMessage
循环。这可能需要很长时间,这有三个不同的原因。
1)循环的每次迭代都需要很长时间。
2)可能会有太多迭代,因此即使每次迭代只需要很短的时间,整个循环也需要很长时间才能执行。
3)虽然循环的大多数迭代只需要很短的时间来执行,但循环变量for
可能有一些值,循环中的代码会冻结或占用很长一段时间。
您可以使用JavaScript i
方法来帮助自己确定处理这三种情况中的哪一种。 http://www.w3schools.com/jsref/jsref_gettime.asp
答案 1 :(得分:0)
感谢所有有价值的建议。
我能够解决这个问题,问题在于 FindItemByText()方法,我将其替换为 FindItemByValue(),现在它正常工作。