【JavaScript 教程】第四章 程序流程05— JavaScript do-while 循環(huán)語句

英文 | https://www.javascripttutorial.net/
譯文 | 楊小愛
那么,在今天的教程中,我們將一起來學(xué)習(xí)如何使用 JavaScript do-while語句創(chuàng)建循環(huán)。
JavaScript do-while 語句簡(jiǎn)介
do-while 循環(huán)語句創(chuàng)建一個(gè)循環(huán),該循環(huán)執(zhí)行代碼塊,直到測(cè)試條件的計(jì)算結(jié)果為 false。
以下是 do-while 循環(huán)語句的語法說明:
do {statement(s);} while(expression);
與 while 循環(huán)不同,do-while 循環(huán)在計(jì)算表達(dá)式之前總是至少執(zhí)行一次主體。
因?yàn)楸磉_(dá)式只在循環(huán)體執(zhí)行后才計(jì)算,所以 do-while 循環(huán)被稱為后測(cè)試循環(huán)。
在循環(huán)體內(nèi)部,您需要對(duì)某些變量進(jìn)行更改以確保表達(dá)式在迭代后計(jì)算為 false。否則,您將有一個(gè)無限循環(huán)。
請(qǐng)注意,從 ES6+ 開始,while(expression) 后面的尾隨分號(hào) (;) 是可選的。
以下是 do-while 循環(huán)語句流程圖:

JavaScript do-while 語句示例
請(qǐng)參閱以下 do-while 循環(huán)語句示例。
let count = 0;do {count++;console.log('count is:' + count);} while (count < 10);
在此示例中,count變量設(shè)置為 0,并在每次循環(huán)迭代中遞增 1。只要count小于 10 ,循環(huán)就會(huì)繼續(xù)。
您經(jīng)常do-while在循環(huán)體需要至少執(zhí)行一個(gè)的情況下使用該語句。這是do-while循環(huán)的一個(gè)重要特征。
使用do-while循環(huán)的最典型示例是從用戶那里獲取輸入,直到預(yù)期提供的值。
讓我們使用do-while循環(huán)來開發(fā)一個(gè)簡(jiǎn)單的猜謎游戲。該腳本生成一個(gè) 1 到 12 之間的隨機(jī)整數(shù)。
您必須通過猜測(cè)來猜測(cè)數(shù)字,直到您選擇的數(shù)字與腳本選擇的數(shù)字相匹配。
請(qǐng)參閱以下猜測(cè)腳本:
在此示例中,count 變量設(shè)置為 0,并在每次循環(huán)迭代中遞增 1。只要計(jì)數(shù)小于 10,循環(huán)就會(huì)繼續(xù)。
在循環(huán)體需要至少執(zhí)行一次的情況下,您經(jīng)常使用 do-while 語句。這是 do-while 循環(huán)的一個(gè)重要特性。
使用 do-while 循環(huán)最典型的例子是從用戶那里獲取輸入,直到提供的值是預(yù)期的。
讓我們使用 do-while 循環(huán)來開發(fā)一個(gè)簡(jiǎn)單的猜謎游戲。該腳本生成一個(gè) 1 到 12 之間的隨機(jī)整數(shù)。
您必須通過猜測(cè)來猜測(cè)數(shù)字,直到您選擇的數(shù)字與腳本選擇的數(shù)字相匹配。
看下面的猜測(cè)腳本:
// generate secret number is a random integer between 1 and 12const MIN = 1;const MAX = 12;let secretNumber = Math.floor(Math.random() * (MAX - MIN + 1)) + MIN;let guesses = 0; // for storing the number of guesseslet hint = ''; // for storing hintlet number = 0;do {// get input from userlet input = prompt(`Please enter a number between ${MIN} and ${MAX}` + hint);// get the integernumber = parseInt(input);// increase the number of guessesguesses++;// check input number with the secret number// provide hint if neededif (number > secretNumber) {hint = ', and less than ' + number;} else if (number < secretNumber) {hint = ', and greater than ' + number;} else if(number == secretNumber) {alert(`Bravo! you're correct after ${guesses} guess(es).`);}} while (number != secretNumber);
看它怎么運(yùn)作
首先,在MIN(包含)和MAX(包含)函數(shù)之間生成一個(gè)隨機(jī)數(shù)。
其次,從用戶那里獲取一個(gè)隨機(jī)整數(shù),并用秘密數(shù)字檢查它。如果號(hào)碼與秘密號(hào)碼不同,則提示用戶,否則顯示祝賀信息。
第三,重復(fù)第二步,直到用戶提供的數(shù)字與生成的隨機(jī)數(shù)匹配。
總結(jié)
通過本教程的學(xué)習(xí),我們知道了如何使用 do-while 循環(huán)語句創(chuàng)建一個(gè)測(cè)試后循環(huán),該循環(huán)允許循環(huán)體至少執(zhí)行一個(gè)循環(huán),并一直執(zhí)行直到測(cè)試條件的計(jì)算結(jié)果為 false。
學(xué)習(xí)更多技能
請(qǐng)點(diǎn)擊下方公眾號(hào)
![]()

