亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

if 語句內的 for 循環 javascript

if 語句內的 for 循環 javascript

慕標琳琳 2023-08-10 16:04:03
有沒有辦法在循環中執行 !radios[0].checked && !radios[1].checked && !radios[2].checked 并有時保持 if 條件不變?我的代碼是:    function afterLogin(event){        event.preventDefault();         if((!radios[0].checked && !radios[1].checked && !radios[2].checked) || userName.value === "" || numOfQuestions.value === ""){            skillMsg.innerHTML = "Please check one of the skills before login";            isTrue = false;        }else{            title[0].innerHTML = "Welcome " + userName.value;            loginForm.style.display = "none";            calForm.style.display = "block";            formsColor.style.backgroundColor  = color.value;            startTheGame();            isTrue = true;        }            }這就是我嘗試做的:    function afterLogin(event){        event.preventDefault();         for(let i = 0; i < radios.length; i++){            if(!radios[i].checked || userName.value === "" || numOfQuestions.value === ""){                //change the plase here                skillMsg.innerHTML = "Please check one of the skills before login";                return false;            }else{                title[0].innerHTML = "Welcome " + userName.value;                loginForm.style.display = "none";                calForm.style.display = "block";                formsColor.style.backgroundColor  = color.value;                //return true;                startTheGame();                //return true;                            }                }    }
查看完整描述

3 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

嘗試這個 ?您可以使用Array.every可用的方法。

function afterLogin(event){

? ? event.preventDefault();?

? ? if((!radios.every(radio => radio.checked) || userName.value === "" || numOfQuestions.value === ""){

? ? ? ? skillMsg.innerHTML = "Please check one of the skills before login";

? ? ? ? isTrue = false;

? ? }else{

? ? ? ? title[0].innerHTML = "Welcome " + userName.value;

? ? ? ? loginForm.style.display = "none";

? ? ? ? calForm.style.display = "block";

? ? ? ? formsColor.style.backgroundColor? = color.value;

? ? ? ? startTheGame();

? ? ? ? isTrue = true;

? ? }

? ??

}


查看完整回答
反對 回復 2023-08-10
?
DIEA

TA貢獻1820條經驗 獲得超3個贊

是的,有可能,創建一個不同的驗證函數來進行健全性檢查,或者在同一個函數本身中進行


    function afterLogin(event){

        event.preventDefault(); 


        let notChecked = false;

        for(let i = 0; i < radios.length; i++){

            if(!radios[i].checked){

                notChecked = true;

                break;

            }

        }


        if(notChecked || userName.value === "" || numOfQuestions.value === ""){

            skillMsg.innerHTML = "Please check one of the skills before login";

            isTrue = false;

        }else{

            title[0].innerHTML = "Welcome " + userName.value;

            loginForm.style.display = "none";

            calForm.style.display = "block";

            formsColor.style.backgroundColor  = color.value;

            startTheGame();

            isTrue = true;

        }  

    }


查看完整回答
反對 回復 2023-08-10
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

是的,您可以使用 every() 函數來檢查這一點。


var radios = [{checked: false}, {checked: false}, {checked: false}, {checked: false}];

if(radios.every(checkValue) || userName.value === "" || numOfQuestions.value === "") {

// your code

}


function checkValue({checked}) {

  return checked === false;

}

還要嘗試使用干凈的代碼原則。就像嘗試使用“失敗優先”方法一樣,使用 if 并返回,這樣您就不必在那里使用 else 塊。只需將 else 部分放在 if 塊之外即可。


查看完整回答
反對 回復 2023-08-10
  • 3 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號