【问题标题】:Assignment in while loop - Javascriptwhile 循环中的赋值 - Javascript
【发布时间】:2015-03-22 09:29:55
【问题描述】:

我遇到了奇怪的情况 - 这里是 Javascript 代码 - 在 NetBeans IDE 8.0 中,我看到一条警报“预期是条件表达式,而是看到了一个赋值”:

var elem;
var a = 0;
while ((elem = document.getElementById('id-' + a)) !== null) {
    //Some code
    a++;
}

但代码工作正常。也许这是 Netbeans IDE 8.0 中的一些错误?

【问题讨论】:

    标签: javascript while-loop netbeans-8


    【解决方案1】:

    代码很好。 IDE 的警告是因为通常会进行比较 (==),但有时实际需要的是赋值 (=)。这是为了捕捉因缺少等号而犯的错误。

    在这里,您设置elem 变量,同时将其与null 进行比较。

    【讨论】:

    • 另外值得注意的是,空检查与getElementById 是多余的,它只是为了读者的利益而存在
    • 如果我使用!=,那么我会收到额外的警告:预期为“!==”,而是看到“!=”
    • @ErnestasGruodis 我想它对允许的内容非常严格。 != 有效。
    猜你喜欢
    • 1970-01-01
    • 2013-09-25
    • 2013-02-17
    • 1970-01-01
    • 2010-11-11
    • 2011-12-08
    • 2011-07-12
    • 1970-01-01
    • 2013-05-19
    相关资源
    最近更新 更多