الانتقال إلى المحتوى الرئيسي
eLearner.app
الوحدة 5 · الدرس 1 من 417/32 في الدورة~10 min
دروس الوحدة (1/4)

الحلقات: لوقت وحين

Loops let you repeat a block of code. JavaScript has three classic forms: for, while, do…while. Use the first one when you know (or can compute) the number of iterations, the other two when you just need an exit condition.

Classic for

Three parts separated by ;: initialization, continuation condition, step.

JS
for (let i = 0; i < 4; i++) {
  console.log(i); // 0, 1, 2, 3
}

Equivalent in while style:

JS
let i = 0;
while (i < 4) {
  console.log(i);
  i++;
}

while

Checks the condition before each iteration.

JS
let n = 10;
while (n > 0) {
  n = Math.floor(n / 2);
}
n; // 0

If the condition is already false at the first round, the body is never executed.

do…while

Checks the condition after: the body is always executed at least once.

JS
let tentativi = 0;
do {
  tentativi++;
} while (Math.random() < 0.0001); // pratica: provare almeno una volta

tentativi; // >= 1

Try it

تمرين#js.m5.l1.e1
المحاولات: 0جارٍ التحميل…

Define a function `sumUpTo(n)` that returns the sum 1+2+...+n (positive integer). Use a classic for.

جارٍ تحميل المحرر…
إظهار التلميح

Start total at 0, then loop i from 1 to n inclusive.

الحل متاح بعد 3 من المحاولات

Review exercise

تمرين#js.m5.l1.e2
المحاولات: 0جارٍ التحميل…

Define `halveUntilOne(n)` that, given a positive integer, returns how many times you need to divide n by 2 (with Math.floor) before reaching 1 or less. Use a while.

جارٍ تحميل المحرر…
إظهار التلميح

Keep a counter and divide n by 2 while n > 1.

الحل متاح بعد 3 من المحاولات