在false if语句中获取错误

时间:2015-01-13 20:22:24

标签: javascript

我有一个带有if语句的Javascript函数;变量col和top作为参数传递给函数:

 if (col == 'persact') {
     for (j = 1; j <= top; j++) {
         var coluid = "xx_" + j;
         var colu = document.getElementById(coluid).value;
         var colidj = "x_" + j;

         if (colu == "PersActNumOrd") {
             var numordid = colidj;
             var numord = document.getElementById(numordid).value;
         }
         if (colu == "PersActUnitChg") {
             var unitchgid = colidj;
             var unitchg = document.getElementById(unitchgid).value;
         }
         if (colu == "PersActExt") {
             var extid = colidj;
             var extold = document.getElementById(extid).value;
         }...similar stuff...
     } //j loop
 } //persact if

对于col!=&#39; persact&#39;的情况,正确调用了该函数。该函数运行正常,但我从firebug得到了一个错误:

TypeError:document.getElementById(...)为null
document.getElementById(extid).value = exten

嗯,当然是空的。这就是它在条件块中的原因。有人可以解释为什么在if条件为false并且该代码块不应该运行时检测到错误。这只是萤火虫是愚蠢的,还是有更深层次的解释与javascript的运作方式有关?

这里的另一个谜是错误是针对&#34; extid&#34;但前两个(以及几个后面的document.getElementById语句,也应该是null,不会产生错误。

0 个答案:

没有答案