欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript分支語(yǔ)句和循環(huán)語(yǔ)句示例詳解

 更新時(shí)間:2025年08月04日 10:20:35   作者:良木林  
JavaScript作為一種廣泛使用的編程語(yǔ)言,它的流程控制語(yǔ)句是構(gòu)建邏輯和實(shí)現(xiàn)功能的基礎(chǔ),這篇文章主要介紹了JavaScript分支語(yǔ)句和循環(huán)語(yǔ)句的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

分支語(yǔ)句

單分支if

只判斷一次,條件為真就執(zhí)行,為假直接跳過(guò)。

if (條件) {
  // 條件為真時(shí)執(zhí)行
}
let age = 18;
if (age >= 18) {
  console.log('成年');
}

雙分支if-else

條件為真執(zhí)行 A,否則執(zhí)行 B。

if (條件) {
  // 條件為真
} else {
  // 條件為假
}
let score = 59;
if (score >= 60) {
  console.log('及格');
} else {
  console.log('完蛋');
}

三元運(yùn)算符? :

把雙分支 if-else 縮成一行,必須有 else,并返回一個(gè)值。

條件 ? 值A(chǔ) : 值B
let num = prompt('請(qǐng)輸入一個(gè)數(shù)字')
num = num < 10 ? 0 + num : num
//0 + num是字符串相加的形式,給個(gè)位數(shù)補(bǔ)一個(gè)0
形式關(guān)鍵字行數(shù)返回值使用場(chǎng)景
單 ifif無(wú)只做一件事
if-elseif...else無(wú)二選一
三元運(yùn)算符? :1簡(jiǎn)單二選一,要返回值
  • 三元運(yùn)算符必須有 else;if 可以沒(méi)有。
  • 三元運(yùn)算符不能寫(xiě)多條語(yǔ)句;復(fù)雜邏輯用 if-else。

switch分支

switch 就是“多選一”的快捷 if-else 鏈——把同一個(gè)變量/表達(dá)式的不同取值,一一對(duì)照?qǐng)?zhí)行。

基本語(yǔ)法

switch (表達(dá)式) {
  case 值1:
    語(yǔ)句塊1;
    break;          // 記得 break,否則會(huì)繼續(xù)往下“穿透”
  case 值2:
    語(yǔ)句塊2;
    break;
  ...
  default:          // 相當(dāng)于最后的 else
    默認(rèn)語(yǔ)句;
}
let day = 3;
switch (day) {
  case 1:
    console.log('周一');
    break;
  case 2:
    console.log('周二');
    break;
  case 3:
    console.log('周三');
    break;
  default:
    console.log('未知');
}
// 輸出:周三

幾個(gè)注意點(diǎn)

  1. 全等比較
    switch 用的是 ===,不會(huì)自動(dòng)類型轉(zhuǎn)換。

    switch ('2') {
      case 2:        // 不會(huì)命中,因?yàn)?'2' !== 2
        ...
    }
    
  2. break 穿透
    忘寫(xiě) break 會(huì)把下面所有 case 都執(zhí)行一遍。
    有時(shí)故意利用穿透做“合并”:

    switch (score) {
      case 5:
      case 4:
        console.log('優(yōu)秀'); // 4 和 5 都會(huì)走這里
        break;
    }
    
  3. default 可省
    如果所有 case 都不匹配且沒(méi)有 default,就什么都不做。

何時(shí)用 switch?

場(chǎng)景推薦寫(xiě)法
同一個(gè)變量的離散值switch
區(qū)間判斷(> <)if-else
復(fù)雜邏輯 / 多條件if-else / 對(duì)象映射

“變量等值多選一,switch 比 if-else 更清爽;記得 break 防穿透,default 兜底別忘掉。”

switch小練習(xí):ATM存款機(jī)

利用while循環(huán)的特點(diǎn)創(chuàng)建無(wú)限循環(huán)的用戶彈窗與用戶進(jìn)行交互;用switch語(yǔ)句創(chuàng)建存款、取款等不同服務(wù)。注意處理余額不足、輸入不當(dāng)?shù)葐?wèn)題。

<script>
        let money = 1000;
        while (true) {
            const num = Number(prompt(
                `請(qǐng)選擇操作:\n1. 存錢\n2. 取錢\n3. 查看余額\n4. 退出`
            ));

            if (num === 4) break;            // 退出
            if (isNaN(num) || num < 1 || num > 3) {
                alert('請(qǐng)輸入 1~4 之間的數(shù)字!');
                continue;
            }

            switch (num) {
                case 1: {
                    const add = Number(prompt('請(qǐng)輸入存錢金額'));
                    if (isNaN(add) || add <= 0) { alert('金額無(wú)效'); break; }
                    money += add;
                    alert(`存入成功,余額:${money} 元`);
                    break;
                }
                case 2: {
                    const take = Number(prompt('請(qǐng)輸入取錢金額'));
                    if (isNaN(take) || take <= 0) { alert('金額無(wú)效'); break; }
                    if (take > money) { alert('余額不足'); break; }
                    money -= take;
                    alert(`取出成功,余額:${money} 元`);
                    break;        // 漏掉的 break 已補(bǔ)上
                }
                case 3:
                    alert(`當(dāng)前余額:${money} 元`);
                    break;
            }
        }
        alert('感謝使用,再見(jiàn)!');
    </script>

循環(huán)語(yǔ)句

while循環(huán)

while (判斷條件) {
	循環(huán)命令
	條件增量
}

continue & break

break 直接跳出整個(gè)循環(huán)(或 switch),循環(huán)結(jié)束;

continue 立即跳過(guò)本次迭代,繼續(xù)下一輪循環(huán)。

關(guān)鍵字作用范圍效果描述常見(jiàn)場(chǎng)景
break循環(huán) / switch立即終止當(dāng)前結(jié)構(gòu),后續(xù)不再執(zhí)行找到目標(biāo)值后提前結(jié)束
continue僅循環(huán)跳過(guò)本次剩余代碼,繼續(xù)下一輪過(guò)濾/跳過(guò)不想要的值

代碼示例

// break:找到 5 就停
for (let i = 1; i <= 10; i++) {
  if (i === 5) break;   // 遇到 5 立即跳出
  console.log(i);       // 1 2 3 4
}

// continue:跳過(guò) 5
for (let i = 1; i <= 5; i++) {
  if (i === 3) continue; // 跳過(guò) 3
  console.log(i);        // 1 2 4 5
}

break “炸” 整個(gè)循環(huán),continue “跳過(guò)” 這一回。

for循環(huán)

for (let i = 0; i < 3; i++) {
  console.log(i);   // 0 1 2
}
  • 三個(gè)格子:起點(diǎn); 條件; 步長(zhǎng)
  • let 代替 C 的 int,用完就丟(不會(huì)泄漏出來(lái))。
例子結(jié)果
忘更新for(let i=0; i<3; ) { ... }死循環(huán)
varfor(var i=0; i<3; i++) { }
console.log(i)
循環(huán)外還能打印 i(3)
條件寫(xiě)錯(cuò)for(let i=0; i>-1; i++)死循環(huán)
let sum = 0;
for (let i = 1; i <= 5; i++) {
  sum += i;
}
console.log(sum);   // 15

明確循環(huán)次數(shù)用for,不明確用while

for循環(huán)小練習(xí)1:九九乘法表

固定的兩層for循環(huán)。主要需要?jiǎng)幽X子的點(diǎn)在于在輸出中添加標(biāo)簽并設(shè)置css屬性。

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        span {
            display: inline-block;
            border: 1px solid blue;
            border-collapse: collapse;
            margin: 2px 2px;
            height: 25px;
            width: 80px;
            text-align: center;
            border-radius: 4px;
            box-shadow: 1px 1px 1px 1px grey;
            color: hotpink;
        }
    </style>
</head>

<body>
    <script>
        for (let i = 1; i <= 9; i++) {
            for (let j = 1; j <= i; j++) {
                document.write(`<span>${i} x ${j} = ${i * j}</span>`)
            }
            document.write('
')
        }
    </script>
</body>

for循環(huán)小練習(xí)2:冒泡排序

和C語(yǔ)言冒泡排序基本相同,在數(shù)組的聲明上略微有些不同。

<script>
        let n = +prompt('您想輸入幾個(gè)數(shù)字?')
        let arr = []
        for (let i = 0; i < n; i++) {
            arr[i] = + prompt(`請(qǐng)您輸入第${i + 1}個(gè)數(shù)字:`)
        }
        for (let i = 0; i < arr.length - 1; i++) {
            for (let j = i + 1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    let t = arr[i]
                    arr[i] = arr[j]
                    arr[j] = t
                }
            }
        }
        document.write('排序后的順序?yàn)椋?)
        for (let i = 0; i < arr.length; i++) {
            if (i != arr.length - 1) document.write(`${arr[i]},`)
            else document.write(`${arr[i]}。`)
        }
    </script>

總結(jié) 

到此這篇關(guān)于JavaScript分支語(yǔ)句和循環(huán)語(yǔ)句的文章就介紹到這了,更多相關(guān)js分支語(yǔ)句和循環(huán)語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript 中 avalon綁定屬性總結(jié)

    JavaScript 中 avalon綁定屬性總結(jié)

    avalon是前端MVVM框架,在js中經(jīng)常會(huì)用到。這篇文章主要介紹了JavaScript 中 avalon綁定屬性總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 基于JavaScript實(shí)現(xiàn)文件共享型網(wǎng)站

    基于JavaScript實(shí)現(xiàn)文件共享型網(wǎng)站

    Any?Share?是一種簡(jiǎn)單、輕量、快速的文件共享服務(wù)。使用?Javascript?編寫(xiě),并搭建在?Firebase?平臺(tái)。本文將利用它實(shí)現(xiàn)創(chuàng)建文件共享型網(wǎng)站,感興趣的可以了解一下
    2022-11-11
  • 常用js字符串判斷方法整理

    常用js字符串判斷方法整理

    js常用方法及字符串的常用判斷方法都是在工作中經(jīng)常用到的,在本文整理了一些,感興趣的朋友可以參考下
    2013-10-10
  • javascript中sort() 方法使用詳解

    javascript中sort() 方法使用詳解

    sort()方法主要是用于對(duì)數(shù)組進(jìn)行排序,默認(rèn)情況下該方法是將數(shù)組元素轉(zhuǎn)換成字符串,然后按照ASC碼進(jìn)行排序,這個(gè)大家都能理解,但如果數(shù)組元素是一個(gè)Object呢,轉(zhuǎn)不了字符串,難道不能進(jìn)行排序?答案當(dāng)然是否定的,那么我們就來(lái)詳細(xì)探討下sort()方法的使用
    2015-08-08
  • document.all還是document.getElementsByName?

    document.all還是document.getElementsByName?

    document.all還是document.getElementsByName?...
    2006-07-07
  • js表格排序?qū)嵗治觯ㄖС謎nt,float,date,string四種數(shù)據(jù)類型)

    js表格排序?qū)嵗治觯ㄖС謎nt,float,date,string四種數(shù)據(jù)類型)

    這篇文章主要介紹了js表格排序?qū)嵗治觯ㄖС謎nt,float,date,string四種數(shù)據(jù)類型),涉及javascript常用的升序、降序及數(shù)據(jù)類型轉(zhuǎn)換等相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • uniapp踩坑實(shí)戰(zhàn)之文件查找失敗:'uview-ui'?at?main.js解決辦法

    uniapp踩坑實(shí)戰(zhàn)之文件查找失敗:'uview-ui'?at?main.js解決辦法

    這篇文章主要給大家介紹了關(guān)于uniapp踩坑實(shí)戰(zhàn)之文件查找失敗:'uview-ui'?at?main.js的解決辦法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • JavaScript檢查彈出窗口是否被阻攔的方法技巧

    JavaScript檢查彈出窗口是否被阻攔的方法技巧

    這篇文章主要介紹了JavaScript檢查彈出窗口是否被阻攔的方法技巧,本文用于檢測(cè)window.open彈出的窗口是否被阻攔,需要的朋友可以參考下
    2015-03-03
  • JS 中 reduce()方法使用小結(jié)

    JS 中 reduce()方法使用小結(jié)

    reduce是一個(gè)對(duì)數(shù)組累積操作的方法,使用時(shí)要加上 return 返回累積操作的數(shù)據(jù),這樣 prev 才能獲取上一次執(zhí)行的結(jié)果,否則是 undefined,這篇文章主要介紹了JS 中 reduce()方法及使用詳解,需要的朋友可以參考下
    2023-12-12
  • 微信小程序上線發(fā)布具體流程簡(jiǎn)析

    微信小程序上線發(fā)布具體流程簡(jiǎn)析

    眾所周知,微信小程序制作成功后,是需要提交到微信公眾平臺(tái)去審核的,審核通過(guò)后,才可以發(fā)布上線的,上線了之后才可以進(jìn)行運(yùn)營(yíng)的,下面這篇文章主要給大家介紹了關(guān)于微信小程序上線發(fā)布具體流程的相關(guān)資料,需要的朋友可以參考下
    2022-10-10

最新評(píng)論