λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ“ ν”„λ‘œμ νŠΈ

ν† μ΄ν”„λ‘œμ νŠΈ | [JavaScript] κ°€μœ„λ°”μœ„λ³΄ κ²Œμž„

by nalong 2022. 8. 10.

πŸ“… λ³Έ 글은 2022λ…„ 1μ›” 31일 개인 velog에 μž‘μ„±λœ κΈ€μž…λ‹ˆλ‹€.

 


μžλ°”μŠ€ν¬λ¦½νŠΈ μŠ€ν„°λ””λ₯Ό μ‹œμž‘ν•˜λ©΄μ„œ λ§Œλ“  κ°€μœ„λ°”μœ„λ³΄ κ²Œμž„μ΄λ‹€!
λ„ˆλ¬΄ 유λͺ…ν•œ ν† μ΄ν”„λ‘œμ νŠΈμ΄κΈ°λ„ ν•˜κ³ , λ‹€λ₯Έ μ‚¬λžŒλ“€μ—κ²ŒλŠ” λ„ˆλ¬΄ κ°„λ‹¨ν•œ κ΅¬ν˜„μΌ 것 κ°™μ•„μ„œ..
μž μ‹œ κ³ λ―Όν–ˆμ§€λ§Œ, κ·Έλž˜λ„ κΈ°λ‘ν•˜λŠ” 것이 μŠ€μŠ€λ‘œμ—κ²Œ 쒋을 것 κ°™μ•„μ„œ μ˜¬λ €λ³Έλ‹€.😊


  • κ²Œμž„ κ·œμΉ™ (κΈ°λ³Έ κΈ°λŠ₯)
    • μ‚¬μš©μžκ°€ κ°€μœ„λ°”μœ„λ³΄ 쀑 ν•œκ°€μ§€ 값을 μ„ νƒν•œλ‹€.
    • μ»΄ν“¨ν„°μ—μ„œ 랜덀으둜 κ°€μœ„λ°”μœ„λ³΄ 쀑 ν•˜λ‚˜μ˜ 값이 좜λ ₯λœλ‹€.
    • λ‘κ°œμ˜ 값을 λΉ„κ΅ν•˜μ—¬ μ μˆ˜κ°€ μ—…λ°μ΄νŠΈ λœλ‹€.
  • κ΅¬ν˜„ κΈ°λŠ₯
    • μ»΄ν“¨ν„°μ—μ„œ 랜덀으둜 κ°€μœ„λ°”μœ„λ³΄ 쀑 ν•˜λ‚˜μ˜ 값이 좜λ ₯λœλ‹€.
    • μ‚¬μš©μžκ°€ μ„ νƒν•œ κ°’κ³Ό 컴퓨터가 μ„ νƒν•œ 값을 λΉ„κ΅ν•˜μ—¬ μ μˆ˜κ°€ μ—…λ°μ΄νŠΈ λœλ‹€.
    • 이긴 μͺ½μ˜ backgroundColor κ°€ λ³€κ²½λ˜μ–΄, μ‚¬μš©μžκ°€ μ‰½κ²Œ νŒŒμ•…ν•  수 μžˆλ„λ‘ ν•˜μ˜€λ‹€.
    • reset λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ μ΄ˆκΈ°μƒνƒœλ‘œ λ³€κ²½λœλ‹€.
  • μ•„μ‰¬μš΄ 점
    • 컴퓨터 ν™”λ©΄μ—μ„œ κ°€μœ„λ°”μœ„λ³΄ 그림이 μˆœμ„œλŒ€λ‘œ λ³€ν•˜κ³  μžˆλŠ” 화면을 κ΅¬ν˜„ν•˜μ§€ λͺ»ν•˜μ˜€λ‹€.
    • λ²„νŠΌμ„ λˆ„λ₯Έ ν›„, κ²°κ³Όκ°€ λ‚˜μ˜€κΈ° 전에 λ²„νŠΌ κΈ°λŠ₯을 μ •μ§€ν•˜λŠ” 것을 μƒκ°ν•˜μ§€ λͺ»ν•˜μ˜€λ‹€.

βœ… event.target.value

function btn_Click () {
    for(var i = 0; i < btn.length; i ++) {
        btn[i].onclick = function(e) {
         if(e.target.value==3) {
            u_item.innerText = "?";
            com_item.innerText="?";   
            user_score.innerText=0;
            com_score.innerText=0; 
            document.getElementById("userbackground").style.backgroundColor="white";
            document.getElementById("computerbackground").style.backgroundColor="white";
         }
         else{
            com_random();
            User(e.target.value);
            user_num = e.target.value;
            setTimeout(() => {
            result(user_num, randomNum);
            }, 500);
         }
        }
    }}

μ‚¬μš©μžκ°€ μ–΄λ–€ λ²„νŠΌμ„ λˆŒλ €λŠ”μ§€ ꡬ뢄 ν•  수있게 ν•˜λŠ”κ²ƒμ΄ 첫번째 λ¬Έμ œμ˜€λ‹€.
μ²˜μŒμ—λŠ” λ²„νŠΌλ“€ λ§ˆλ‹€ 각각 λ³€μˆ˜λ“€μ„ λ‹€λ₯΄κ²Œ ν•΄μ„œ if문을 μ΄μš©ν•΄μ„œ κ΅¬ν˜„μ„ ν• λ €κ³ ν–ˆμ§€λ§Œ, μ½”λ“œκ°€ λΆˆν•„μš”ν•˜κ²Œ κΈΈμ–΄μ§€λŠ” 것 κ°™μ•˜λ‹€. κ·Έλž˜μ„œ μ²˜μŒμ—λŠ” λ²„νŠΌλ“€μ„ λͺ¨λ‘ λ°›μ•„μ™€μ„œ, i값에 따라 κ΅¬λΆ„ν•˜μ—¬ κ΅¬ν˜„ν•˜λŠ” 것을 κ³„νšμœΌλ‘œ μ„Έμ› μ§€λ§Œ, λ­”κ°€ value 값을 λ”°λ‘œ μ£Όμ–΄ 이것을 μ΄μš©ν•΄μ„œ κ΅¬ν˜„ν•˜λ©΄ μ–΄λ–¨κΉŒ ν•˜λŠ” 생각이 λ“€μ—ˆλ‹€. 이것과 κ΄€λ ¨ν•΄ μ±… μ˜ˆμ œλ“€μ„ μ°Ύμ•„λ³΄λ˜ 쀑에 event.target 을 λ°œκ²¬ν–ˆλ‹€.
event.target 은 μ΄λ²€νŠΈκ°€ λ°œμƒν•œ λŒ€μƒ 객체λ₯Ό 가리킨닀고 생각을 ν•˜λ©΄λœλ‹€. (MDN μ— μžˆλŠ” μ˜ˆμ‹œλ₯Ό 톡해 쑰금 더 μ‰½κ²Œ 이해가 κ°€λŠ₯ν•˜λ‹€.)
event.target.value λ₯Ό 톡해 λ²„νŠΌμ˜ value 값을 κ°€μ Έμ˜¬ 수 μžˆμ—ˆκ³ , μ’€ 더 μ‰½κ²Œ κ΅¬ν˜„μ΄ κ°€λŠ₯ν–ˆλ‹€.

βœ… style.backgroundColor

κ΅¬ν˜„μ„ λ§ˆλ¬΄λ¦¬ν•˜κ³  λ‚˜μ„œ λ“  생각이 'λˆ„κ°€ μ΄κ²ΌλŠ”μ§€ μ‰½κ²Œ ꡬ뢄 λ˜μ§€ μ•ŠλŠ”λ‹€.' μ˜€λ‹€.
λ¬Όλ‘  λ°”λ€ŒλŠ” μ μˆ˜λ“€μ„ 톡해 μ•Œ 수 μžˆμ—ˆμ§€λ§Œ, ν•œ λˆˆμ— ꡬ뢄이 λ˜μ—ˆμœΌλ©΄ μ’‹κ² λ‹€! ν•˜λŠ” 생각이 λ“€μ—ˆλ‹€. 이긴 μͺ½μ˜ 배경색상이 λ°”λ€Œλ©΄ μ’‹κ² λ‹€λŠ” 생각이 λ“€μ—ˆκ³ , style.backgroundColor 을 μ΄μš©ν•˜μ—¬ 색상변경 효과λ₯Ό μ£Όμ—ˆλ‹€.


처음으둜 μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό 배우고 μžˆλŠ” λ‚˜μ—κ²ŒλŠ” μ–΄λ €μš΄ ν† μ΄ν”„λ‘œμ νŠΈμ˜€λ‹€..😭
ν•˜μ§€λ§Œ, ν† μ΄ν”„λ‘œμ νŠΈλ₯Ό ν•˜λ©΄μ„œ λ°°μš΄κ²ƒλ“€μ„ ν•œλ²ˆ 더 써보게 되고, λ§Žμ€ 것듀을 배우게 λ˜λŠ” 것 κ°™λ‹€. μ•žμœΌλ‘œλ„ κΎΈμ€€νžˆ μ—΄μ‹¬νžˆ ν•΄μ•Όκ² λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€! πŸ’ͺ