好的,我觉得这个很傻。
我正在尝试定义一个函数,用于检查列表框项集合中是否已存在项目(实际上可能是任何集合)
这里是:
<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 ++是无法访问的代码。如何?为什么?
答案 0 :(得分:0)
就像Igor所说,当你在for循环结束时返回true时,JS将立即退出函数,返回值'true'。
您可以执行当前的for循环,如果满足if语句条件,将返回false并退出该函数。在for循环之后,如果从未满足条件,则返回true。您的代码应如下所示:
<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>