【问题标题】:Expected an identifier and instead saw ')'需要一个标识符,而是看到')'
【发布时间】:2012-12-20 12:40:58
【问题描述】:

我收到此错误,

 Expected an identifier and instead saw ')'.

在这行代码中。有什么办法解决吗?

   for (; index < nPageFullItemCnt; index++) {
        strIndex = "0" + index;
        keyIndex = "popup_item_" + strIndex.substr(strIndex.length - 2, 2);
        keyItem = document.getElementById(keyIndex);

        setPopupKeyText(keyIndex, " ");

        keyItem.className = "popupLangItemNone";
        keyItem.langId = "";
    }

【问题讨论】:

  • 它说的是什么行号,你的代码的前几行是什么?
  • 此代码块中未发生错误。您需要分享更多代码。
  • 您必须知道,JSLint 是一个非常严格的代码质量工具,它会在不重要的地方产生错误。换成JSHint试试看,比较仁慈。

标签: javascript jslint


【解决方案1】:

您没有将第一个参数传递给for() 循环:

for (index = 0; index < nPageFullItemCnt; index++) 
{
    /* .. */
}

【讨论】:

  • 仅当变量index 被定义在某处时。
  • 是的,它是在另一部分代码中定义的,可能jslit不喜欢它
  • 我想这可能与范围界定有关。
【解决方案2】:

这一点:

for (; index

导致该错误。如果您这样做,代码应该验证:

for (0; index

(因为我假设您不是故意传递第一个参数)

但是,如果您不打算在for 循环中使用[initialization]; [condition]; [final-expression] 属性,我建议使用while 循环而不是for。

while(index < nPageFullItemCnt){
    // Do stuff;
    index++;
}

从技术上讲,这 3 个参数都是可选的,但如果缺少某些代码验证器,它们可能会引发错误。

【讨论】:

    猜你喜欢
    • 2019-05-07
    • 2018-10-18
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多