JavaScript For Loop-为了好玩,可能很简单

JavaScript For Loop-为了好玩,可能很简单,javascript,for-loop,Javascript,For Loop,我最近完成了Marjin Haverbeke的书“挑战” 此控制台输出使用for循环: # ## ### #### ##### ###### ####### The answer is this: for (var i = '#'; i.length < 8; i += '#') { console.log(i); } # ## ### #### ##### ###### ####### 答案是: 对于(变量i='#';i.length

我最近完成了Marjin Haverbeke的书“挑战”

此控制台输出使用for循环:

#
##
###
####
#####
######
#######

The answer is this:

for (var i = '#'; i.length < 8; i += '#') {
console.log(i);
}
#
##
###
####
#####
######
#######
答案是:
对于(变量i='#';i.length<8;i+='#'){
控制台日志(i);
}
我想知道的是为什么第一行不是两个散列(“###”),因为循环的更新部分(I+=“#”)肯定会将“#”添加到I(已经=到“#”),因此这意味着循环的第一次迭代肯定会输出“###”

也许我需要一个关于这个循环是如何工作的教训

真的, 看起来还是个新手

for (init(); condition(); update()) {
  body();
}
相当于

init();
while (condition()) {
  body();
  update();
}
因此,第一次运行
i+='#'
仅在第一次
console.log(i)
之后(当
i
刚刚运行时)

相当于

init();
while (condition()) {
  body();
  update();
}

因此,第一次运行
i+='#'
仅在第一次运行
console.log(i)
之后(当
i
刚刚运行
'#'
)时)。您应该首先检查for循环的工作方式

如果你写过

for (var i = '#'; i.length < 8; i += '#') {
console.log(i);
}
然后从步骤2到步骤4


这就是for loops算法的工作原理

@Callum您应该首先检查for loops的工作原理

it is just like post increment. The order of execution is:

--> initialisation
--> check condition
--> execute body
--> increment value

so first it would print the value then increment it.
如果你写过

for (var i = '#'; i.length < 8; i += '#') {
console.log(i);
}
然后从步骤2到步骤4

这就是for loops算法的工作原理

这将在第一行给出
#

it is just like post increment. The order of execution is:

--> initialisation
--> check condition
--> execute body
--> increment value

so first it would print the value then increment it.
for (var i = '#'; i += '#',i.length < 8; ) {
console.log(i);
}
for(变量i='#';i+='#',i.length<8;){
控制台日志(i);
}
这将在第一行给出
##

for (var i = '#'; i += '#',i.length < 8; ) {
console.log(i);
}
for(变量i='#';i+='#',i.length<8;){
控制台日志(i);
}

执行for循环时,基本情况是
#
之后的每个迭代都将
#
附加到
i
的当前值。循环将一直执行,直到字符串长度为8。因此简而言之,
i+=#
发生在循环的每次迭代之后当for循环执行时,基本情况是
#
此后的每次迭代都将
#
附加到
i
的当前值。循环将一直执行,直到字符串长度为8。简而言之,
i+=#
发生在循环的每次迭代之后谢谢你Deepak,这现在变得更有意义了。你的网络摄像头兄弟:)@CallumoberholzerThankyu Deepak,这现在变得更有意义了。你的网络摄像头兄弟:)@Callumoberholzer感谢你像阿玛丹那样布置它。谢谢你!谢谢你这么说,阿玛丹。谢谢你!