【发布时间】:2015-07-31 15:20:22
【问题描述】:
好吧,我觉得这个有点愚蠢。
我正在尝试定义一个函数来检查一个项目是否已经存在于列表框项目集合中(实际上可以是任何集合)
这里是:
<script type="text/javascript">
function canInsert(listbox, item)
{
if (item == null)
return true;
var itemCount = listbox.GetItemCount();
for (var i = 0; i < itemCount; i++)
{
var nitem = listbox.GetItem(i);
if (nitem.value === item.value)
return false;
return true;
}
}
</script>
使用 VS 2015 CE,它说 i++ 是无法访问的代码。如何以及为什么?
【问题讨论】:
-
将
return true;移出循环 - 在对canInsert说“是”之前,您需要检查所有项目,并避免undefined导致空listbox的情况 -
i++ 仅在第一个循环完成后进行评估。
return true;阻止了这种情况的发生。 -
是的,我在发布此内容后才发现。我多么愚蠢。如果可以的话,我会投反对票。
标签: javascript collections visual-studio-2015