Dorothy_YANG
With Dorothy
Dorothy_YANG
전체 방문자
오늘
어제
  • 분류 전체보기 (279)
    • Hi, I'm Dorothy 🕵️‍♂️ (21)
      • Slowly but Surely (18)
      • IT certifications (3)
    • 🤯TIL (80)
      • HTML & CSS (2)
      • Javascript & jQuery (13)
      • React (13)
      • C언어 (1)
      • JAVA (22)
      • Python (2)
      • Oracle SQL (10)
      • My SQL (5)
      • Spring (12)
    • 💻Programmers (17)
    • 🏫 Open API_JAVA (101)
    • 🌎 Project (10)
      • Shopping (10)
    • 💥 Error (24)
    • ⚙ Setting (23)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 콜라보레이토리
  • java
  • 백준
  • Database
  • Eclipse
  • spring
  • 연습문제
  • 코딩앙마
  • 시작일종료일
  • CSS
  • 기간설정
  • 비쥬얼스튜디오코드
  • HTML
  • SQLD합격
  • 서버등록
  • sql기간
  • colaboratory
  • googlecolaboratory
  • 독학후기
  • 오류해결
  • 이것이자바다
  • 기간쿼리
  • 창초기화
  • 파이썬온라인
  • SQL
  • oracle
  • 노마드코더
  • SQLD합격후기
  • Javascript
  • AllArgsConstructor

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Dorothy_YANG

With Dorothy

[11일차] 함수 / 임시변수
🏫 Open API_JAVA

[11일차] 함수 / 임시변수

2022. 8. 3. 23:45
728x90

20220803(수)

  • 목차
    - 함수
    - 임시 변수
    - 시험

< 함수 >

함수 통에는 원인이 여러 개가 들어간들, 결과를 하나로 뽑아야 한다.

console.log("abc");

함수 : 호출 (call) ➡ parameter / Argument ➡ return value

// 함수 기본식
        const 함수명 = function()
        {
              
        }

// 함수 호출하기
        함수명 ();

 

- 익명 함수 : 함수의 이름이 없음 (확장)

// function prototype(함수원형) = 함수를 사용하는데 필요한 모든 정보
        const add = function(val1, val2)
       
        {
            let result = val1 + val2;
            return result;

        }
// 위에 들어가있는 영역과 들어가있지 않은 영역은 완전히 다른영역이다.

        let result;
        result = add(10,20);
       
        console.log(result);

 

함수를 사용해서 구구단 짜기

// 함수 기본식
        const gugudan = function(dan)
        {
            let mul =1;
            for(let i = 0; i < 9; i++)
           {
            console.log(`${dan} x ${mul} = ${dan * mul}`);
            mul++;
           }
        }

// 호출하기
        gugudan (5);

 

더보기

[연습문제]

 

// 사용자한테 숫자를 하나 입력받는다.
// 1 ~ 숫자까지 더하는 코드를 작성
// ex) 5, 1+2+3+4+5
// 단, 1+...+n 더하는 기능은 함수로 구현.

        const sigma = function(val)
        {
            let total = 1;
            let inc = 2;

            for(let i = 0; i < (val - 1); i++)
            {
                total = total + inc;
                inc++;
            }
            return(total);
        }


// 숫자를 하나 입력받는다.
        const input1 = prompt('숫자를 입력하세요','');
        const num1 = Number(input1);


// sigma(입력받은숫자)를 호출한다.
        let res = sigma(1);
        console.log(res);

        res = sigma(2);
        console.log(res);

        res = sigma(3);
        console.log(res);

        res = sigma(4);
        console.log(res);

< 임시 변수 >

  • 임시 변수를 왜 쓸까?
    코드 축약 및 추가 가능(개발자들이 편해) ➡ 가변적으로 사용할 수 있구나!

  • 예시로 더 자세히 알아봅시다!
    변수를 사용하면 연산을 한 번씩 밖에 못한다.
    10 + 5 + 7 + 9 하려면
    let k = 10 + 5
    let g = k + 7
    let z = g + 9 이렇게 해야 함. (명시적 접근 가능)

    근데 임시 변수로 사용하면 (명시적 접근 불가능)
    let z = 10 + 5 + 7 + 9

    ➡ 우리가 변수 설정 안 해도 v8 엔진이 우리가 접근할 수 없는 메모리 블록을 하나 만들어 계산함.


    그래서,
    원래 let k = add (4, 5) + 6;는 k가 15로 나오는게 아니다.
    k값이 6 나오는 게 정상임 // 한 번에 한 번만 계산할 수 있으니까 add만 계산됨
    근데 임시 변수로 add(4, 5)를 처리한 다음에 + 6을 계산하기 때문에 결괏값이 15 로잘 나온다.

    add(add(4,5), 6);
    1) 임시 변수를 하나 만들고 add(4, 5)를 먼저 실행 = 9
    2) 임시 변수에 9가 들어 감,  add(9, 6)이 된다.
// 세개의 숫자를 더하는 함수를 만들어본다.
       
        const add = function(val1, val2)
        {
            return val1 + val2;
        }
       
        const add3 = function(val1, val2, val3)
        {
            let a1 = add(val1, val2);
            let result = add(a1, val3); // 함수가 함수를 호출할 수 있다.
            return result;

 // 위 세줄을 아래 한줄로 요약할 수 있음
 // return add(add(val1, val2), val3);

        }

        let result = add3(1, 4, 5);
        console.log(result);

 


< 함수가 실질적으로 어떻게 움직이는지? >


 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'🏫 Open API_JAVA' 카테고리의 다른 글

[13일차] JS 함수 호출방식 / 가변 파라미터 / 디폴트 파라미터 / 콜백  (0) 2022.08.05
[12일차] for 응용 / function 응용 / Debugger  (0) 2022.08.05
[10일차] 반복문 for / while / 제어 break 와 continue  (0) 2022.08.02
[9일차] JavaScript Switch / Array  (0) 2022.08.01
[8일차] 프로그래밍 / Datatype 자료형 / if-else 문  (0) 2022.07.29
    '🏫 Open API_JAVA' 카테고리의 다른 글
    • [13일차] JS 함수 호출방식 / 가변 파라미터 / 디폴트 파라미터 / 콜백
    • [12일차] for 응용 / function 응용 / Debugger
    • [10일차] 반복문 for / while / 제어 break 와 continue
    • [9일차] JavaScript Switch / Array
    Dorothy_YANG
    Dorothy_YANG
    Slowly but Surely, 비전공 문과생의 개발공부

    티스토리툴바