23. Front-end/23. html css javascript

[Javascript] Function ํ•จ์ˆ˜, Event

keemzeehae 2022. 3. 3. 21:19

Function ํ•จ์ˆ˜


 

1. ํ•จ์ˆ˜์„ ์–ธ

 function[ํ•จ์ˆ˜๋ช…] ([๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ]){

       [return]

}

 

2. ํ•จ์ˆ˜ํ˜ธ์ถœ

  1) ํ•จ์ˆ˜๋ช…([์ธ์ž๊ฐ’]);

 

ํ•จ์ˆ˜ํ˜ธ์ถœ์„ ๋จผ์ €ํ•˜๊ณ  ํ•จ์ˆ˜์„ ์–ธ์„ ํ•ด๋„ ์ž˜ ์ž‘๋™ํ•จ

 

3. ํ•จ์ˆ˜์ด๋ฆ„ ์œ ๋ฌด

  1) ๋ช…๋ช…ํ•จ์ˆ˜

      - ์ด๋ฆ„์ด ์žˆ๋Š” ํ•จ์ˆ˜ 

      - ํ•จ์ˆ˜์„ ์–ธ ์œ„์น˜์™€ ํ•จ์ˆ˜ ํ˜ธ์ถœ์˜ ์œ„์น˜๋Š” ์ƒ๊ด€์—†์Œ

 

  2) ์ต๋ช…ํ•จ์ˆ˜ (์ด๊ฑด ์ˆœ์„œ๊ฐ€ ์ค‘์š” ์„ ์–ธํ›„ ํ˜ธ์ถœํ•ด์•ผํ•จ)

      - ์ด๋ฆ„์ด ์—†๋Š” ํ•จ์ˆ˜ 

      - ์ฝœ๋ฐฑํ•จ์ˆ˜์šฉ ( ์–ด๋–ค ๊ฒฐ๊ณผ๋ฌผ๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ํ•จ์ˆ˜), ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐ’์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ๋„ฃ์„ ์ˆ˜๋„ ์žˆ์Œ

      - ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ํ˜ธ์ถœ

 

 

4. ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ์€ ๋ณ€์ˆ˜๋ช…๋งŒ ์„ ์–ธ 

      function test(param1, param2){ }  >>์ด๋Ÿฐ์‹์œผ๋กœ ๋ณ€์ˆ˜๋ช…๋งŒ ์„ ์–ธ

      function test( let param1, param2){ }  >> ์ด๋ ‡๊ฒŒ ์•ˆ์”€

 

fx1();

function fx1 (){
    console.log('fx2');
   
}

let f1 = function (){
    console.log("์ต๋ช…ํ•จ์ˆ˜");
    fx1();   ๋‹ค๋ฅธํ•จ์ˆ˜์•ˆ์— ํ˜ธ์ถœ ๊ฐ€๋Šฅ
}
 

Event 

- ์‚ฌ๊ฑด 

- ์‚ฌ์šฉ์ž์˜ ํ–‰์œ„, ํด๋ฆญ, ์ž…๋ ฅ, ๋งˆ์šฐ์Šค๋ฅผ ์›€์ง์ด๊ฑฐ๋‚˜, ํŽ˜์ด์ง€ ๋‹ซ๊ธฐ, ์—ด๊ธฐ, ์Šคํฌ๋ฃฐ, ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ ๋“ฑ

- ~ ํ–ˆ์„ ๋•Œ 

 

 

1. ์ด๋ฒคํŠธ์˜ ์ข…๋ฅ˜

 

  *๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ

  1) ํด๋ฆญ ์ด๋ฒคํŠธ click! ์ด๋ฒคํŠธ๋ช…: click

      : ๋งˆ์šฐ์Šค์˜ ์™ผ์ชฝ ๋ฒ„ํŠผ ๋ˆŒ๋ €์„ ๋•Œ 

  2) mouseenter 

      : ์–ด๋–ค ์˜์—ญ( Element) ์— ๋งˆ์šฐ์Šค ์ปค์„œ๊ฐ€ ๋“ค์–ด๊ฐ”์„ ๋•Œ

  3) mouseleave 

      : ์–ด๋–ค ์˜์—ญ( Element) ์— ๋งˆ์šฐ์Šค ์ปค์„œ๊ฐ€ ๋‚˜๊ฐ”์„ ๋•Œ

 

 2. ์ด๋ฒคํŠธ ๋“ฑ๋ก

 

    1) Element์˜ ์†์„ฑ ํ˜•์‹์œผ๋กœ ๋“ฑ๋ก

        - on ์ด๋ฒคํŠธ๋ช… ="ํ•จ์ˆ˜ํ˜ธ์ถœ"

 <div>
        <button type="button" onclick="fx1()">Click</button>
    </div>

    2) JS ํŒŒ์ผ์—์„œ ์ฝ”๋“œ ์ž‘์„ฑ

  - ์„ ํƒ์ž.on์ด๋ฒคํŠธ๋ช…= ์ต๋ช…ํ•จ์ˆ˜ ์„ ์–ธ ๋˜๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ (ํ•จ์ˆ˜ํ˜ธ์ถœ ์‹œ์—๋Š”() ์ƒ๋žต ํ•ด์•ผํ•จ)

 btn.onclick=f1;  ์ด๋ฆ„๋งŒ ์”€   f1์ด ์ต๋ช…ํ•จ์ˆ˜ 
 
btn.onclick=f1(); ์ด๋ ‡๊ฒŒ ์“ฐ๋ฉด ๋ฒ„ํŠผ ๋ˆ„๋ฅด๊ธฐ๋„ ์ „์— ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅ์ด ๋˜์–ด๋ฒ„๋ฆผ

    3) JS ํŒŒ์ผ์— ์ž‘์„ฑ

  - ์„ ํƒ์ž.addEventListener("์ด๋ฒคํŠธ๋ช…", ์ต๋ช…ํ•จ์ˆ˜์„ ์–ธ ๋˜๋Š” ํ•จ์ˆ˜ํ˜ธ์ถœ ์ฝ”๋“œ)

-----------------------------

<div>
        <input type="text" id="input1" value="">
        <select>
            <option value="+" class="operator">+</option>
            <option value="-" class="operator">-</option>
            <option value="*" class="operator">*</option>
            <option value="/" class="operator">/</option>
            <option value="%" class="operator">%</option>

        </select>
------------------------------------------------------------------
btn1.addEventListener("click",function(){
    let o1='';
    for(let i=0;i<operator.length;i++){
        if(operator[i].selected){
            o1=operator[i].value;
        }
    }
    // console.log(operator[4].selected);
    let v1=input1.value*1;
    let v2=input2.value*1;
    // let v2=input1.getAttribute('value');
    // let o1=operator.value;

    let result1=0;
    if(o1=='+'){
        result1=v1+v2;
    }else if(o1=='-'){
        result1=v1-v2;
    }else if(o1=='*'){
        result1=v1*v2;
    }else if(o1=='/'){
        result1=v1/v2;
    }else {
        result1=v1%v2;
    }
    result.value=result1;
    // result.value=v1;
    // console.log(v1*1);
    // console.log(v2);
})

name=""์ด ์ด๋ฆ„์„ ์จ์ค€ ์ด์œ ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „์†กํ• ๋•Œ ์ด๋ฆ„ ๊ฐ™์€์ด๋ฆ„์„ ์ฃผ๋ฉด ์ค‘๋ณต์ฒดํฌ ๋ถˆ๊ฐ€ 

value๋ž‘ name์„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Œ

 

[html ์ž…๋ ฅํƒœ๊ทธ ๊ธ€ ์ฐธ๊ณ ํ•˜๊ธฐ]

4. ๊ณตํ†ต์†์„ฑ 
  1) value  inputํƒœ๊ทธ์— ์ž…๋ ฅ๋œ ๊ฐ’์ด ์ €์žฅ๋˜๋Š” ์†์„ฑ์ด value์ด๋‹ค
               ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์œผ๋กœ ์„œ๋ฒ„๋กœ ์ „์†ก
               ๊ฐ™์€๋ง -> ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ’์€ VALUE์†์„ฑ์œผ๋กœ ๋„˜์–ด๊ฐ 
  2) name : ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ด๋ฆ„์ด ๋จ

(์“ฐ๋Š” ์ˆœ์„œ ์ƒ๊ด€์—†์Œ)
<input type="text" value="์•„์ด์œ " name="id" > => url? id=์•„์ด์œ 

 

์—ฌ๊ธฐ์„œ ๊ถ๊ธˆํ•œ๊ฑฐ value ๋Š” name์ด  ์žˆ์„ ๋•Œ๋งŒ ์˜ฌ ์ˆ˜ ์žˆ๋Š”๊ฑด๊ฐ€?

๋งŒ์•ฝ์— ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์ด ์—†๊ณ  value๋งŒ ์˜ฌ ์ˆ˜ ์žˆ๋Š”๊ฑด์ง€...

 

 

 

์ž˜๋ชป๋œ ์ •๋ณด๋‚˜ ์ด์ƒํ•œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด

๋Œ“๊ธ€๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ํ™•์ธ์ฆ‰์‹œ ์ˆ˜์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)