JAVASCRIPT

[JAVASCRIPT] ํ•จ์ˆ˜ - ์ต๋ช…ํ•จ์ˆ˜, ํ™”์‚ดํ‘œํ•จ์ˆ˜, ์ฆ‰์‹œ์‹คํ–‰ํ•จ์ˆ˜

Arr_ 2021. 10. 29. 16:44

 

  • ํ•จ์ˆ˜ ๊ธฐ๋ณธ ํ˜•ํƒœ

<script>

 funcition ํ•จ์ˆ˜๋ช… (๋งค๊ฐœ๋ณ€์ˆ˜) {

            return ํ•จ์ˆ˜๊ฐ€ ํ•ด์•ผํ•˜๋Š” ์ผ;

}

</script>

 

 


 

  • ๊ธฐ๋ช… ํ•จ์ˆ˜ : hoisting ๊ฐ€๋Šฅ

- ํ•จ์ˆ˜๋ช…์ด ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งํ•จ

    <script>
      function myfuncion(p1, p2) {
        return p1 * p2;
      }
      let result = myfuncion(4, 5);
    </script>

 

 

1. ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ธฐ

 <body>
    <h2>javascript funtion</h2>
    <p id="demo"></p>
    <!--๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๊ฒฐ๊ณผ๊ฐ’์ด demo ์ž๋ฆฌ์— ๋ณด์—ฌ์ง€๊ธฐ-->
    <button type="button" onclick="toCelsius(77)">๊ฒฐ๊ณผํ™•์ธ</button>
    <script>
      function toCelsius(fahrenheit) {
        let result = (5 / 9) * (fahrenheit - 32);
        document.getElementById("demo").innerHTML = result;
      }
    </script>
  </body>

 

- ๊ฒฐ๊ณผํ™•์ธ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ธฐ ์ „

- ๊ฒฐ๊ณผํ™•์ธ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ ํ›„


 

  • ์ต๋ช…ํ•จ์ˆ˜ : hoisting ๋ถˆ๊ฐ€

- ํ•จ์ˆ˜๋ช…์„ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜, ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํ•จ์ˆ˜๋ช…์ด ์•„๋‹Œ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋‹ด๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜๋ช…์„ ํ˜ธ์ถœํ•จ

  <body>
    <script>
      let sum = 0;
      //์ต๋ช… ํ•จ์ˆ˜(anonymous funtion) 
      const output = function (a, b) {
        return a * b;
      };
      //ํ•จ์ˆ˜ ํ˜ธ์ถœ
      let result = output(4, 3);
      document.write(result);
    </script>
  </body>

 

 


 

  • Arrow ํ•จ์ˆ˜, ํ™”์‚ดํ‘œ ํ•จ์ˆ˜
  <body>
    <h2>Arrow funtion</h2>
    <p id="demo"></p>
    <script>
    
      //   ์ผ๋ฐ˜ ํ•จ์ˆ˜ ํ‘œํ˜„์‹
         var x = function (x, y) {
           return x * y;
         };
      
      //  ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ : ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ 2๊ฐœ์ธ ๊ฒฝ์šฐ
        const x = (x, y) => x * y;
        document.getElementById("demo").innerHTML = x(5, 6);

      //  ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ : ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ 1๊ฐœ์ธ ๊ฒฝ์šฐ
      const x = (y) => console.log(y);
      x(7);
    </script>
  </body>

 


 

  • ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜(self-invoking function) : ๋ฐ˜๋“œ์‹œ ์‹คํ–‰ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ
  <body>
    <h2>์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜(self-invoking function)</h2>
    <!--ํ˜ธ์ถœ์„ ํ•˜์ง€ ์•Š์•„๋„ ๋ฐ”๋กœ ์‹คํ–‰๋จ-->
    <p id="demo"></p>
    <script>
      (function () {
        let x = "hello!!!";
        document.getElementById("demo").innerHTML = x;
      })();
    </script>
  </body>