認識 JavaScript (九)

閱讀時間約 3 分鐘

※ 何謂巢狀迴圈(NESTD LOOP):

指的是一個迴圈內包含另一個迴圈的結構。在程式設計中,這種結構常用於需要進行多層次迭代的場合,例如處理多維數組、逐行逐列處理表格資料等。

※ 例子:九九乘法表

raw-image

說明:

  1. 外層迴圈:for (let i = 1; i <= 9; i = i + 1) 這個迴圈控制乘法表的第一個因數(行),從 1 到 9。
  2. 內層迴圈:for (let j = 1; j <= 9; j = j + 1) 這個迴圈控制乘法表的第二個因數(列),也從 1 到 9。
  3. 使用 模板字串 (Template Strings):使用反引號 ` 來定義,將變量和表達式放在 ${} 中。
  4. ${i} x ${j} = ? 表示將 ij 的值動態插入到字串中。
  5. 當內層迴圈完成一次循環,就會打印出 i 和 j 當前的值,以及乘法的格式。
  6. 當內層迴圈的 j 循環完一輪(從 1 到 9),外層迴圈的 i 增加 1,然後內層迴圈再次從 1 開始,直到 i 也循環完畢。

※ 例子:會員判斷

條件要求:

  • 未登入印出「請登入」
  • 登入印出「已登入」
  • 管理者印出「Admin」
  • VIP會員印出「歡迎光臨」
  • 一般會員印出「Hello」
  • 只要是會員,還有點數則印出「還有xxx點」
  • 只要是會員,沒有點數則印出「請買點」
//參數宣告​
const isLogIn = true //本身是布林值
const role = 'member' //admin, VIP, member
const points = 5

//由於判斷式也是true/false,可以省略isLogIn===true,直接寫成(isLogIn)
//使用巢狀迴圈

if (isLogIn) {
//步驟一:確認是否登入
console.log('已登入')
//步驟二:判斷管理員身分
if (role === 'admin') {
console.log('Admin')
} else {
//步驟三:結果不是管理員身分-->是會員
if (role === 'vip') {
console.log('歡迎光臨')
} else if (role === 'member') {
console.log('Hello')
} else {
console.log('未知角色', role)
}
//步驟四:判斷會員點數
if (points > 0) {
console.log(`還有${points}`)
} else {
console.log('請買點')
}
}
} else {
console.log('請登入')
}
raw-image



    全端網頁開發專業知識分享
    留言0
    查看全部
    發表第一個留言支持創作者!
    認識 JavaScript (三)
    閱讀時間約 1 分鐘
    認識 JavaScript (四)
    閱讀時間約 1 分鐘
    認識 JavaScript (五)
    閱讀時間約 1 分鐘
    認識 JavaScript (六)
    閱讀時間約 1 分鐘
    認識 JavaScript (七)
    閱讀時間約 1 分鐘
    認識 JavaScript (八)
    閱讀時間約 2 分鐘