gpt4 book ai didi

javascript - 以编程方式设置for循环的第三条语句

转载 作者:行者123 更新时间:2023-11-30 07:51:58 25 4
gpt4 key购买 nike

想知道是否有机会以编程方式设置 forloop 的第三条语句

var conditionProgrammatically = 'i++';//or 'x--'

for (var i = 0; i < 10; conditionProgrammatically) {
console.log(i)
}

最佳答案

您可以在那里使用任何您想要的表达式,包括调用函数。你只需要注意范围。因此,例如,这有效:

var conditionProgramatically = () => i++ ;

for (var i = 0; i < 10; conditionProgramatically()) {
console.log(i)
}

但这取决于 var i 在函数共享的范围内这一事实。但是,这不起作用:

var conditionProgramatically = () => i++ ;

for (let i = 0; i < 10; conditionProgramatically()) {
console.log(i)
}

因为 let 的作用域是 block 并且不可用。

当然,您可以通过将其作为参数传递来共享可变对象,例如:

fn = (o) => o.i += 1
for (let o = {i:0}; o.i < 10; fn(o)) {
console.log(o.i)
}

这允许您使用 let,但对眼睛来说有点难看。

总而言之,让您的逻辑适合简单表达式可能比调用函数更容易。不过,您仍然可以执行一些逻辑:

for (let i = 0; Math.abs(i) < 10; i = Math.random() > .65  ? i -1: i + 1) {
console.log(i)
}

关于javascript - 以编程方式设置for循环的第三条语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51094172/

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