[JavaScript] 함수(선언적

함수는 무엇인가

  • 일반적으로 사용되는 블록 단위의 실행 가능한 코드의 집합입니다.

  • 기능 단위로 재사용하는 역할을 합니다.

  • 함수를 선언하려면 function 키워드 또는 화살표 함수(화살표 함수 =>)를 사용합니다.

  • 호출: 정의된 함수가 호출되는 동안 함수가 실행됩니다.


자바스크립트 기능거의

  1. 선언적 기능 : 이름으로 정의
    • JavaScript를 읽을 때 먼저 읽습니다.

    • 통화 위치는 무료입니다.

  2. 익명 기능 : 이름 없이 정의된 함수 – 콜백 함수 – 이벤트 처리에 사용
    • 자체적으로 호출할 수 없음
    • 함수 이름 대신 변수에 익명 함수를 할당하거나 특정 이벤트 객체에 할당하여 호출 – 할당 유형 함수
    • 익명 함수의 소스 코드는 변수 값이므로 세미콜론 ; 쓰다
  3. 프리미엄 및 우수한 기능
  4. 즉각적인 기능 : 함수가 자신을 정의하자마자 즉시 자신을 호출합니다.

1. 선언적 함수

선언적 함수는 어디에서나 호출할 수 있습니다.

리프팅 문제로 인해 선언적 함수는 일반적으로 사용되지 않습니다.

sayHello();   //오류 없이 실행됨

function sayHello(){
	console.log('Hello')
}

sayHello();   //오류 없이 실행됨

2. 익명함수(할당함수)

익명 함수는 한 줄씩 읽어서 만듭니다.

코드에 도달하면 생성됩니다.

sayHello();   //에러발생

let sayHello = function(){
	console.log('Hello')
}

sayHello();   //오류없이 실행됨

선언적 함수와 익명 함수는 실행 순서가 다릅니다.

함수()

함수=function(){     // 2. 나중에 실행됨
  console.log("익명함수 입니다")
}

function 함수(){    // 1. 먼저 만들어짐
  console.log("선언적 함수입니다")
}
함수()


결과 화면 예

3. 최고 수준의 기능

함수는 값으로 사용됩니다(함수는 자신을 객체로 취급함).

  1. 변수에 넣을 수 있습니다.

    매핑 기능 (예시 2 참조)
  2. 인수로 전달할 수 있습니다.

    콜백 함수
function sayHello() {
   return "Hello, ";
}
function greeting(helloMessage, name) {
  console.log(helloMessage() + name);
}
// `sayHello`를 `greeting` 함수에 인자로 전달
greeting(sayHello, "JavaScript!
");

3. 반환 값으로 전달할 수 있습니다.

고차 함수

function sayHello() {
   return function() {
      console.log("Hello!
"); } }

4. 즉시 실행 기능

선언과 동시에 호출되어 재사용하지 않을 때 사용하는 함수입니다.

ex) 변수를 초기화하는 함수

(function () {
    console.log("hello");
})();

// 화살표 함수로도 사용 가능하다
(() => {
    console.log("hello");
})();

자바스크립트

<!
DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <script type="text/javascript"> hap(); function hap() { //선언적 함수 console.log("hap"); } const minus = function (a=1,b=2) { //일급합수 const num1 = 2; const num2 = 1; document.write(num1 + num2); document.write("<br />"); document.write(a + b); }; minus(5, 7); function sayHello() { return "Hello, "; } function greeting(helloMessage, name) { console.log(helloMessage() + name); } // `sayHello`를 `greeting` 함수에 인자로 전달 greeting(sayHello, "JavaScript!
"); </script> </body> </html>

간단한 함수 사용 예

//함수 사용 예제 - 값 추출하기

//변수를 선언합니다
let nums =(1,2,3,4,5,6,7,8,9,10)
//홀수만 추출
nums = nums.filter((value)=>value%2 === 1)
    console.log(nums)

//5 이하의 수만 추출
nums = nums.filter((value)=>value<=5)
    console.log(nums)
//5로 나눈 나머지가 0인 수만 추출
nums = nums.filter((value)=>value%5===0)
    console.log(nums)