while 循环中的赋值 - Javascript
Posted
技术标签:
【中文标题】while 循环中的赋值 - Javascript【英文标题】:Assignment in while loop - 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 中的一些错误?
【问题讨论】:
【参考方案1】:代码很好。 IDE 的警告是因为通常会进行比较 (==
),但有时实际需要的是赋值 (=
)。这是为了捕捉因缺少等号而犯的错误。
在这里,您设置elem
变量,同时将其与null 进行比较。
【讨论】:
另外值得注意的是,空检查与getElementById
是多余的,它只是为了读者的利益而存在
如果我使用!=
,那么我会收到额外的警告:预期为“!==”,而是看到“!=”
@ErnestasGruodis 我想它对允许的内容非常严格。 !=
有效。以上是关于while 循环中的赋值 - Javascript的主要内容,如果未能解决你的问题,请参考以下文章
为啥在 Javascript 中不鼓励在 while 语句中赋值?
JavaScript 中的 While 循环与 For 循环? [关闭]