728x90
반응형

function(함수)

 
- 하나의 특별한 목적의 작업을 수행하도록 설계된 독립적인 블록을 말함.
- 실행하려면 반드시 호출이 필요하다.
- 여러 곳에서 호출이 가능하다.
- 매개변수의 자료형을 기술할 필요가 없다.
- 호이스팅 처리 됨.
*호이스팅 : 선언적함수(아래에 선언된 것)만 최상단으로 끌어올리는 기능.

* 선언적 함수란 : 기본 함수선언 형식은 온전히 지켜서 선언한 함수를 의미
        형식 :
        function 함수명 () {
            실행문들;
            ...
        }
        */
      //오류발생안됨.
마지막에 선언한 함수만 실행됨
호이스팅 역역은 반드시 선언문이 같이 이루어진 script태그 안에서만 가능함.
 
익명 함수 : 이름이 없는 함수를 익명함수라고 한다.
- 익명함수를 호출하려면 해당 함수를 변수에 대입하여 (함수가 리터럴로 존재) 해당 변수를 함수 호출문 식으로 ( 함수객체명() ) 호출하면 된다.
        익명함수 형식 :
        function(){
            자바스크립트 코드들;
            ...;
        }*/

      // func1(); //호이스팅 안 됨.
      var func1 = function () {
        document.write("익명 함수<br>");
      };
      // 함수를 변수로 선언시 세미콜론(;) 꼭 붙이기
      func1(); //익명 함수 호출(실행)

      func2(); //선언적 (사용자 정의) 함수 호출(실행)

      function func2() {        //선언적 함수선언(정의)
        document.write("선언적 함수<br>");
      }
    </script>
 
      //매개변수가 있는 익명함수 사용
      const x = function (a, b) {
        return a * b;
 
function
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script>
      /* 함수란(function) :
        하나의 특별한 목적의 작업을 수행하도록 설계된 독립적인 블록을 말함.
        실행하려면 반드시 호출이 필요하다.
        여러 곳에서 호출이 가능하다.
        매개변수의 자료형을 기술할 필요가 없다.
        호이스팅 처리 됨.
        호이스팅 : 아래에 선언된 것을 최상단으로 끌어올리는 기능.
        
        선언적 함수란 : 기본 함수선언 형식은 온전히 지켜서 선언한 함수를 의미
        형식 :
        function 함수명 () {
            실행문들;
            ...
        }
        */
      //오류발생안됨.
      func1();
      function func1() {
        document.write("선언적 함수1<br>");
      }
      function func1(i) {
        document.write("선언적 함수1-1", i ,"<br>");
      }//마지막에 선언한 함수만 실행됨
      func1();

      func2();
      function func2() {
        document.write("선언적 함수2<br>");
      }
      func2();
    </script>
  </head>
  <body>
    <pre style="border: 1px solid#000">
    <span style="font-weight:bolder;">자바스크립트 function 형식</span>
    <hr>
    function함수명(매개변수1, 매개변수2, ...){
    자바스크립트 코드들;<br>
    ...<br>
    (반환문 선택)return 값;
    }<br></pre>
    <script>
      func1();
      //호이스팅 역역은 반드시 선언문이 같이 이루어진 script태그 안에서만 가능함.
      //   function func1(){
      //     document.write("선언적 함수1<br>")
      //   }
    </script>
  </body>
</html>​

 

f
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style>
      #demo {
        text-decoration: underline;
        font-weight: bolder;
        color: red;
      }
    </style>
    <script>
      /* 브라우저의 개발자 도구를 꼭 실행하여 확인해 주세요!! **
        익명 함수 : 이름이 없는 함수를 익명함수라고 한다.
        익명함수를 호출하려면 해당 함수를 변수에 대입하여
        (함수가 리터럴로 존재)
        해당 변수를 함수 호출문 식으로 ( 함수객체명() ) 호출하면 된다.
        익명함수 형식 :
        function(){
            자바스크립트 코드들;
            ...;
        }*/
      // func1(); //호이스팅 안 됨.
      var func1 = function () {
        document.write("익명 함수<br>");
      };
      // 함수를 변수로 선언시 세미콜론(;) 꼭 붙이기
      func1(); //익명 함수 호출(실행)

      func2(); //선언적 (사용자 정의) 함수 호출(실행)
      function func2() {
        //선언적 함수선언(정의)
        document.write("선언적 함수<br>");
      }
    </script>
  </head>
  <body>
    <p id="demo"></p>
    <!-- <button type="button" onclick="document.getElementById('demo').innerHTML = x (4,3);">클릭</button> -->
    <button type="button" onclick="bfn()">클릭</button>
    <script>
      //매개변수가 있는 익명함수 사용
      const x = function (a, b) {
        return a * b;
      };

      function bfn() {
        document.getElementById("demo").innerHTML = x(4, 3);
      }
    </script>
  </body>
</html>​

 

function
<!DOCTYPE html>
<html>
  <head>
    <title>Function</title>
  </head>
  <body>
    <h2>JavaScript Function</h2>
    <p>myFunction(4, 3)의 호출값은? <span id="demo"></span></p>
    <script>
      var x = myFunction(4, 3); //선언적함수-호이스팅 일어남
      document.getElementById("demo").innerHTML = x;

      function myFunction(a, b) {
        return a * b;
      }
    </script>
  </body>
</html>

 

 

;;;
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        function btn(){
            document.getElementById("demo").innerHTML
            = "기온은 섭씨" + toCelsius(77) + "도 입니다.";
                            //선언적함수 호이스팅
            function toCelsius(num) {
                //화씨를 섭씨로 변경하는 수식
                return Math.floor((num-32) * (5/9));
                            //floor 1의 자리에서 내림
            }

            function toCelsius1(){
                document.write("기온은 섭씨 32도 입니다.");
            }
            
            return{toCelsius:toCelsius1()};
            //js's object = java's map
            //{}중괄호 형식 object입력
            //[]대괄호
            //return toCelsius1();
        }
    </script>
</head>
<body>
    <h2>JavaScript Functions</h2>
    <pre style="border:1px solid #000; font-weight: bolder;">
지역함수(local function) : 함수 안에 정의된 내장 함수를 의미.
- 포함된 함수 안의 블록 사이에서만 쓰일 수 있다.
- 포함된 함수의 실행이 종료되면 지역 함수도 소멸된다.
- 함수 내부에서 선언된 변수명과 변수값은 함수 외부에서는 사용할 수 없다.
    
전역함수(global function) : 여러 코드 블록에서 동시에 쓰일 수 있는
함수를 말한다.
- 전역변수 : 여러 코드 블록에서 동시에 쓰일 수 있는 변수를 말한다.
함수 밖에서 선언된 변수의 경우 함수 내부의 코드 블록에서도 
동시에 사용할 수 있다.
    </pre>
    <p>버튼을 클릭해보세요.</p>
    <p id="demo"></p>
    <button onclick="btn()">클릭</button>
    <script>
        // btn();
        //btn().toCelsius1;
        //btn().toCelsius1;
    </script>
</body>
</html>​
728x90
반응형

'[JS]' 카테고리의 다른 글

[JS] toString(), arrow()  (0) 2024.02.28
[JS] function2, arguments  (0) 2024.02.28
[JS] array  (0) 2024.02.27
[JS] continue  (0) 2024.02.27
[JS] for  (0) 2024.02.27

+ Recent posts