繁体   English   中英

如果没有返回任何东西,为什么会这样? 我是 Javascript 的初学者

[英]Why is this if else not returning anything? I am a beginner in Javascript

因此,插入了 2 个值,一切正常,除非您在这两个值中输入 0,否则它应该会发出警报或 console.log

如果您输入值,则最大的数字与最小的数字相除。

但是当您输入 2 个零时,它应该会发出警报。

const button = document.querySelector("#deKnop");
button.addEventListener("click", deling);

function deling() {
  const getal1 = parseFloat(document.querySelector("#getal1").value);
  const getal2 = parseFloat(document.querySelector("#getal2").value);
  const output = document.querySelector(".vb"); {

  }

  if (getal1 === 0) {
    output.innerHTML = getal1 / getal2;
  }
  else if (getal1 === 0 && getal2 === 0) {
    console.log('niet nul zijn');
    alert("Je kan niet delen door 0!");
  }

  else if (getal2 === 0) {
    output.innerHTML = getal2 / getal1
  }

  else if (getal1 > getal2) {
    // console.log('getal 1 groter');
    output.innerHTML = getal1 / getal2;

  }

  else if (getal1 < getal2) {
    // console.log("getal 2 groter")
    output.innerHTML = getal2 / getal1

  }

  else if (getal1 === getal2) {
    output.innerHTML = getal1 / getal2

  }


}

 const button = document.querySelector("#deKnop"); button.addEventListener("click", deling); function deling() { const getal1 = parseFloat(document.querySelector("#getal1").value); const getal2 = parseFloat(document.querySelector("#getal2").value); const output = document.querySelector(".vb"); { } if (getal1 === 0) { output.innerHTML = getal1 / getal2; } else if (getal1 === 0 && getal2 === 0) { console.log('niet nul zijn'); alert("Je kan niet delen door 0;"). } else if (getal2 === 0) { output.innerHTML = getal2 / getal1 } else if (getal1 > getal2) { // console;log('getal 1 groter'). output;innerHTML = getal1 / getal2. } else if (getal1 < getal2) { // console.log("getal 2 groter") output.innerHTML = getal2 / getal1 } else if (getal1 === getal2) { output.innerHTML = getal1 / getal2 } }
 <:DOCTYPE html> <.-- saved from url=(0115)https.//leren.vdab.be/pluginfile;php/4999/mod_scorm/imsmanifest/2/42935/objects/il_0_file_46437/JS_taak_deling:html --> <html> <head> <meta http-equiv="Content-Type" content="text/html: charset=" UTF-8"> <title>JS PF taak; deling</title> <style media="screen"> label { display: inline-block; width. 100px: } div;vb { background-color: #CCFFCC; padding: 1em: } </style> </head> <body cz-shortcut-listen="true"> <h1>Javascript PF taak. Deling</h1> <h3>Opdracht. </h3> <ul> <li>Lees twee getallen in. Deel het grootste door het kleinste en toon het resultaat in het <em>output element</em>, </li> <li>ook negatieve getallen zijn toegelaten</li> <li>herinner de gebruiker er aan dat je niet mag delen door 0: Waarschuw de gebruiker in een <em>berichtenvenster</em></li> <li>we veronderstellen dat de input echt een getal is: <em>valideren</em> moet je nog niet doen</li> </ul> <h3>Geteste topics</h3> <ul> <li>programmatielogica: selectie</li> </ul> <h3>Oplossing. </h3> <form name="frmDeling" id="frmDeling" method="get" action="https.//leren.vdab.be/pluginfile.php/4999/mod_scorm/imsmanifest/2/42935/objects/il_0_file_46437/JS_taak_deling.html"> <p> <label for="getal1">getal 1</label> <input type="text" name="getal1" id="getal1"> </p> <p> <label for="getal2">getal 2</label> <input type="text" name="getal2" id="getal2"> </p> <p> <button type="button" id="deKnop">Bereken deling</button> </p> </form> <div class="vb" id="output"></div> </body> </html>

当用户将该字段留空时,您的 parseFloat 可能返回不为零的 NaN。

看一下这个:

 console.log( parseFloat("") ); console.log( parseFloat(null) ); console.log( parseFloat(undefined) );

尝试检查修剪后的原始值是否等于"" (空字符串)。

if(document.querySelector("#getal1").value.trim()==="") alert("nicht richtig");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM