gpt4 book ai didi

javascript - 用 while 循环循环一个三 Angular 形

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

我正在阅读 Eloquent Javascript 这本书。有一个构建三 Angular 形的任务:

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

有一个循环。

我用 for 循环成功地做到了。

for (var result = "#"; result.length <=7; result = result + "#")
console.log(result);

但出于某种原因我不能用 while 循环来完成它。

var result = "#"
while(result.length <=7 ){
console.log(result);
result = result + "#";
}
VM920:3 #
VM920:3 ##
VM920:3 ###
VM920:3 ####
VM920:3 #####
VM920:3 ######
VM920:3 #######
"########"

出于某种原因,我在底部得到了这个额外的行,其中有 8 个 # 符号用引号引起来。为什么会这样?

最佳答案

它是代码中最终表达式的结果。在您的 JS 控制台中输入“5+5”,您将得到一个结果。如果您将“5+5”放在脚本 的末尾,同样如此。这就是这里发生的事情:

var result = "#"
while(result.length <=7 ){
console.log(result);
result = result + "#"; // <-- this is the last statement executed, so it is returned
}

相比之下,下面的最后一条语句是一条日志语句,它没有返回值。所以脚本的结果是 undefined

for (var result = "#"; result.length <=7; result = result + "#")
console.log(result);

如果你尝试这样的事情,你可以更清楚地看到这一点:

for (var i=0; i < 5; i++) { 
console.log(i);
i
}

这里,最后一个表达式就是i。此代码打印 0-4 中的每个数字(含 0-4),然后第二次打印 4,因为它是最终表达式。

0
1
2
3
4 <-- the final console.log() call
4 <-- the final expression

关于javascript - 用 while 循环循环一个三 Angular 形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40532776/

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