找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 52|回复: 0

很高兴我们现在可以更好地控制代码

[复制链接]

2

主题

0

回帖

8

积分

新手上路

积分
8
发表于 2023-11-23 14:37:03 | 显示全部楼层 |阅读模式
这是 JavaScript 博客文章系列的第 5 部分,它将带您从初学者到高级。 在本系列结束时,您将了解开始使用 JavaScript 编码所需的所有基础知识。 话不多说,让我们开始第五篇教程。 While 循环和 for 循环 – 目录:控制结构(续) While 循环 For 循环 本教程假定您已遵循本系列中的第 4 篇教程,无论是在设置方面还是在知识方面。 我们将继续第四个教程中的设置,因此如果您由于某种原因关闭了它,您可以查看上一个教程以获取完整的分步说明。 因此,我们将打开 Google Chrome,更具体地说,打开片段部分以编写和执行我们的代码。 如果您已准备好,那么您就可以开始学习本教程了。 控制结构(续) 在前面的教程中,我们已经看到如何使用 if、else if 和 else 来控制代码流程。 但如果您注意到的话,我们只能执行所有内容一次。


例如,如果您想说“你好,那里!” 十次,您将需要编写 10 行不同的代码来表达完全相同的内容。 难道没有更好的方法来实现这一目标吗? 您真的需要在代码中重复自己很多次吗? 答案是否定的,一点也不。 作为一名程序员,你希望你的代码是 DRY 的。 这里的 DRY 代表不 国家邮箱列表 要重复自己。 是的,如果当时有意义的话,您可能偶尔会重复代码的某些部分,但作为总体目标,您应该致力于拥有 DRY 代码。 这样,大多数时候您将拥有更清晰的代码,并且出错的可能性更少。 为了不在代码中重复,我们将使用循环。 更具体地说是“while 循环”和“for 循环”。 让我们从 while 循环及其含义开始。 While 循环 While 循环遵循简单的逻辑。 其过程如下:当条件为真时,执行括号内的给定代码。 也就是说,我们还应该小心使用 while 循环编写的代码,因为如果条件永远不会变为 false,则括号内的代码将永远运行,除非停止执行。





这就是为什么我们想要实施某种改变来触发 Why 循环停止。 让我们通过一个例子来看看。 ? 1 2 3 4 5 让饥饿= true; while (饿了) {alert("吃东西了"); 饥饿=假; while_loops_and_for_loops 在上面的例子中,我们将执行告诉我们只吃一次的警报代码。 这是因为一开始我们将hungry设置为true,所以我们将开始执行while循环内的代码。 但在执行代码时,有一行将饥饿状态设置为 false。 因此,在第一次执行之后,我们现在将饥饿状态设置为 false,这样我们就知道 while 代码将不会再次执行。 现在让我们看另一个代码被执行多次的例子。 ? 1 2 3 4 5 6 让目标编号 = 10; 让当前编号 = 0; while (currentNumber < targetNumber) {alert("您好,用户!"); 当前编号++; while_loops_and_for_loops 你认为这段代码会发生什么? 是否要向用户显示任何警报? 如果是这样,我们将向用户显示多少警报? 如果您猜到我们总共会提醒用户 10 次,那么您猜对了! 如果没有的话再想一想,看看这次你是否明白了。 我们在此代码中所做的是以 currentNumber 开始,以跟踪我们向用户显示警报的次数。 每次我们向用户显示警报时,我们也会将其加一。


如果您还记得的话,++ 符号用于将给定数字加一。 一开始我们还没有向用户显示任何警报,因此我们从零开始,一直持续到显示数字为 10。这里您应该注意的一件事是,因为我们正在检查小于 10 的数字, 当当前数字达到10时,括号内的代码将不再执行,因为它不再满足小于targetNumber的条件。 虽然我们在每个循环结束时将数字加一,但没有规则说只能在 while 循环内增加或减少它。 这是使用 while 循环的一个主要优点。 它们用在您不一定知道要运行代码多少次的地方。 例如,您可以创建一个游戏,并且可以让玩家留在游戏中,只要他们不失去游戏即可。 在此游戏会话期间,用户可以在不确定的时间段内获得分数或失去分数,并且当分数低于某个分数(例如零)时,您可以结束游戏。 有时您可能希望在 while 循环内至少运行一次括号内的代码。 例如,想象一个场景,您首先吃点零食,然后他们决定您是否饿了。 你知道你想吃一些东西,但你不一定知道很久。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|爱零愛菁 ( 粤ICP备2022038107号 )

GMT+8, 2025-1-24 05:13 , Processed in 0.014158 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表