[JavaScript] 7. 条件文と重複文


📌 条件文


✅ if - else

if (표현식1){
  실행문1;
}else if (표현식2){
  실행문2;
}else{
  실행문3;
}
式1が真の場合は、文1の実行を実行します.
式1が偽で、式2が真の場合、式2が実行されます.
式1,2が偽の場合、式3が実行されます.
このときelse ifは複数回使用できます.

📌 複文


門につく
while(조건문){
  실행문;
}
条件文が本当の場合は、文の繰り返し実行を続行します.
ドア.
for(초기식;조건식;증감식){
  실행문
}
初期式しょきしき:変数値の初期設定式へんすうちのしょきせっていしき
じょうけんしき
増減式:初期式変数を増加または減少する方法
for(int i=0;i<10;i++){
  실행문
}
このようなfor文がある場合はi=0から、i<10の場合は文を実行し、i++を実行する.次に、i<10が満たされているかどうかを確認し、満たされている場合は文を実行します.
上のfor文は全部で10回繰り返します.

7.QUIZ


<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <h1 id="show">00:00:00:00</h1>
    <button onclick=start()>시작</button>
    <button onclick=stop()>멈춤</button>
    <button onclick=init()>초기화</button>

    <script src="7.js"></script>
  </body>
</html>
javascript
var hour=0;
var minute=0;
var second=0;
var msecond=0;
var timeId;
var state= false;



function startwatch(){
  watch();
  if (state==true){
    timeId=setTimeout(startwatch,10);
  }
}

function start(){
  state=true;
  startwatch();
}

function stop(){
  state=false;
}

function watch(){
  msecond++;
  if (msecond==100){
    msecond=0;
    second++;
    if (second==60){
      second=0;
      minute++;
      if (minute==60){
        minute=0;
        hour++;
      }
    }
  }
  showWatch();
}

function showWatch(){
  var h1=document.getElementById("show");
  h1.innerHTML=String(hour).padStart(2,"0")+":"+String(minute).padStart(2,"0")+":"+String(second).padStart(2,"0")+":"+String(msecond).padStart(2,"0");
}

function init(){
  clearTimeout(timeId);
  hour=0;
  minute=0;
  second=0;
  msecond=0;
  state=false;
  showWatch();
}
問題にsettimeout関数を使用させるには、いくつかの時間がかかりました.スタートボタンを押すつもりでstate=trueに変更して、stateがtrueの日まで継続する予定でしたが、これでコードを作るとスタートボタンを押すと次のボタンが押されなくなります.
したがってsettimeoutでは独自の伝達関数を用いて問題を解決することができる.(なぜかわからないけど)