我最近完成了 Marjin Haverbeke 的书“Eloquent Javascript, Second Edition”中的一项挑战。
One had to create此控制台输出使用 for 循环:
#
##
###
####
#####
######
#######
The answer is this:
for (var i = '#'; i.length < 8; i += '#') {
console.log(i);
}
我想知道的是,为什么第一行不是两个哈希值 ('##'),因为循环的更新部分 (i += '#') 将 '#' 添加到 i(已经 = 到'#'),因此意味着循环的第一次迭代肯定会输出'##'?
也许我需要了解一下这个循环的真正工作原理。
您真诚的, 貌似还是JS新手。
最佳答案
for (init(); condition(); update()) {
body();
}
相当于
init();
while (condition()) {
body();
update();
}
因此,第一次 i += '#'
运行仅在第一个 console.log(i)
之后(当 i
只是 '#'
)。
关于JavaScript For Loop - 有趣,可能很简单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47174031/