第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么我的 javascript for 循環(huán)沒(méi)有執(zhí)行任何操作,而是凍結(jié)了我的網(wǎng)頁(yè)?

為什么我的 javascript for 循環(huán)沒(méi)有執(zhí)行任何操作,而是凍結(jié)了我的網(wǎng)頁(yè)?

嚕嚕噠 2023-10-14 09:52:11
我無(wú)法弄清楚為什么我的代碼不起作用。這是一個(gè)非常簡(jiǎn)單的程序,所以我確信我缺少或沒(méi)有看到一些東西,但我似乎無(wú)法弄清楚。請(qǐng)幫忙!它應(yīng)該做什么:接受兩個(gè)數(shù)字并找到下一個(gè)大于第一個(gè)數(shù)字并且也能被第二個(gè)數(shù)字整除的數(shù)字。發(fā)生了什么:它基本上只是凍結(jié)了我的計(jì)算機(jī),似乎循環(huán)繼續(xù)運(yùn)行而不停止。JS:function divisibleBy(first, second) {    var firstNum = document.getElementById('firstNumber').value;    var secondNum = document.getElementById('secondNumber').value;    for (var i = firstNum + 1; i > firstNum; i++) {        if (i % secondNum === 0) {            document.getElementById('result').innerHTML = i;        }    }}HTML:<body>    <header>        <h1>Let's Do Some Math!</h1>        <h2>Type in <u>two</u> numbers and let's figure out the next <br>            number greater than those two numbers but with a catch...<br>            the number has to be <u>divisible</u> by the second number you choose.</h2>    </header>    <hr>    <ul>        <li>            <label for="firstNumber">First Number:</label>            <input type="number" id="firstNumber">        </li>        <li>            <label for="secondNumber">Second Number:</label>            <input type="number" id="secondNumber">        </li>        <li>            <button type="submit" onclick="divisibleBy();">GO</button>        </li>    </ul>    <h2 id="result"></h2>    <hr></body>
查看完整描述

2 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

問(wèn)題:?jiǎn)栴}是你的for-loop的條件語(yǔ)句是always ,這會(huì)導(dǎo)致無(wú)限循環(huán),因此頁(yè)面無(wú)響應(yīng)。在這種情況下也不需要為函數(shù)提供參數(shù)true


解決方案:


這個(gè)問(wèn)題可以用數(shù)學(xué)方法解決,無(wú)需循環(huán)。


// BEST APPROCH

function divisibleBy() {

    var firstNum = parseInt(document.getElementById('firstNumber').value);

    var secondNum = parseInt(document.getElementById('secondNumber').value);

    

    var result = secondNum*parseInt(firstNum/secondNum+1);

    document.getElementById('result').innerHTML = result;

    

}

但是,如果您確實(shí)需要使用循環(huán),這里是解決方案,但請(qǐng)記住,在for 循環(huán)中設(shè)置限制幾乎與上述解決方案相同(或?qū)l件設(shè)置為i <= firstNum*secondNum,因?yàn)樗谟龅浇鉀Q方案時(shí)已經(jīng)有了break語(yǔ)句)


// WORST APPROCH

function divisibleBy() {

    var firstNum = parseInt(document.getElementById('firstNumber').value);

    var secondNum = parseInt(document.getElementById('secondNumber').value);

    

    for (var i = firstNum+1; i <= secondNum*(firstNum/secondNum+1); i++) {

        if (i % secondNum === 0) {

            document.getElementById('result').innerHTML = i;

            break;  

        }

    }

}

但我建議使用循環(huán),這將更令人滿意地解決這個(gè)問(wèn)題,并忽略對(duì)上述代碼中的do-While限制進(jìn)行不必要的計(jì)算。i


// BEST LOOP/SIMPLE APPROCH 

function divisibleBy() {

    var firstNum = parseInt(document.getElementById('firstNumber').value);

    var secondNum = parseInt(document.getElementById('secondNumber').value);

    

    do{

        firstNum++;

    }

    while(firstNum%secondNum != 0)

    document.getElementById('result').innerHTML = firstNum;

}


查看完整回答
反對(duì) 回復(fù) 2023-10-14
?
萬(wàn)千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

你正在使用 for (var i = firstNum + 1; i > firstNum; i++)并且這個(gè)條件總是滿足。因此它會(huì)無(wú)限循環(huán)。


嘗試這個(gè) :


 for (var i = firstNum + 1; ; i++) {

        if (i % secondNum === 0) {

            document.getElementById('result').innerHTML = I;

              break;

        }

    }


查看完整回答
反對(duì) 回復(fù) 2023-10-14
  • 2 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)