对于此代码块:
if(!skipit)
{
var update_argument='';
if (document.formname.fieldname)
{
update_argument=document.formname.fieldname[document.formname.fieldname.selectedIndex].value;
}
window.setTimeout('updatepcols(update_argument)',250);
return false;
}
我在 setTimeout 调用中收到一个错误,即“update_argument”未定义。当我将分配空字符串值的行从“var”更改为“window.”时,错误消失了,代码工作了。我猜这里存在范围问题,但我不遵循它。为什么在这种情况下 update_argument 是未定义的,但是将它放在窗口对象中让我可以使用它?(updatepcols 是一个更新定价列的函数。)