gpt4 book ai didi

javascript - JSLINT 关于条件表达式的样式或错误的警告

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:54:27 28 4
gpt4 key购买 nike

我正在尝试修复 JSLINT 警告的两件事,但我不知道如何修复。哪一行应该用什么代码代替?我在下面粘贴了有问题的代码和关于它们的警告。非常感谢您的建议/回答。

JSLINT 说:

第 137 行的问题:需要一个条件表达式,却看到了一个赋值。

while(elem = document.getElementById("optionsDiv"+g))

第 140 行出现问题:应为“{”,但看到的却是“return”。

返回 g;


function isAnyOptionVisible()
{
var g=0;
while(elem = document.getElementById("optionsDiv"+g))
{
if(elem.className==="optionsDivVisible")
return g;
g++;
}
return -1;
}

最佳答案

条件没有任何问题,除了 elem 如果没有在外部范围内声明它可能是一个全局的。如果未声明,请事先声明:

var elem, g=0;    

如果你想让 JSLint 开心,你可以添加一个与 null 的显式比较:

while((elem = document.getElementById("optionsDiv"+g)) !== null)

我没有看到任何关于“Expected {”的信息。但是,将 g++ 与大括号放在同一行是奇怪的风格。

请记住,JSlint 在一定程度上与 Crockford 的个人偏好有关,您不必总是同意这一点。

编辑:好的,第二个错误是因为 JSLint 希望您将返回放在大括号中,例如:

    if(elem.className==="optionsDivVisible")
{
return g;
}
g++;

这也是我喜欢的编码风格。我确实发现它避免了某些错误。然而,这又是主观的。明显的权衡是它增加了两行。

关于javascript - JSLINT 关于条件表达式的样式或错误的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5454012/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com