gpt4 book ai didi

javascript - for 循环上的闭包编译器警告

转载 作者:行者123 更新时间:2023-11-28 16:18:05 25 4
gpt4 key购买 nike

我正在使用一个有点非常规的 for 循环,它非常适合我正在做的事情,如下所述(不费心显示变量声明):

if (arr && arr.length > 0) {
for (i = arr.length; i--; i) {
element = arr.pop();
//rest of code
}
}

闭包编译器向我发出警告:“警告 - 可疑代码。此代码缺乏副作用,是否存在错误?”专门指向 for 循环括号中的最后一个“i”。

如果我删除 i,jslint 会引发警告,如果我保留它,closure 会引发警告。总共有三个循环,是否有“关闭友好”的方法来做到这一点?

最佳答案

正常方式怎么样?

if (arr && arr.length > 0) {
for (i = arr.length; i > 0; --i) {
element = arr.pop();
//rest of code
}
}

将减量放入测试中并不是编写 for 循环的正常方法。

或者更正常:

if (arr && arr.length > 0) {
for (i = arr.length - 1; i >= 0; --i) {
element = arr.pop();
//rest of code
}
}

...但由于您没有使用 i,所以这并不重要。

或者你可以使用while:

if (arr && arr.length > 0) {
i = arr.length;
while (i--) {
element = arr.pop();
//rest of code
}
}

关于javascript - for 循环上的闭包编译器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10761441/

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