WEB2 - JavaScript

함수

함수의 기본

소스코드

변경사항

 

 

매개변수(parameter)와 인자(argument)

소스코드

변경사항

 

 

리턴

4:04초의 결과가 붉은색 5가 아닌 붉은색 23이 된 이유는 자바스크립트는 문자와 숫자를 더하면 숫자를 문자로 간주합니다. +를 덧셈이 아닌 문자 결합 연산자로 사용합니다. 그래서 2와 3이 결합되서 23이 된 것입니다. 아래와 같이  괄호를 사용해서 2와 3을 먼저 더해주셔야 합니다. 졸음강의를 찍은 것 같습니다 ㅠㅠ
document.write('<div style="color:red">'+left+right+'</div><br>');

소스코드

변경사항

 

 

댓글

댓글 본문
  1. chimhyangmoo
    2차 - 21.05.09
  2. 초딩 개발자
    2021/05/08
  3. 스문
    21.04.30 완료
  4. 별거
    2021.04.27
    function에 대한 재대로된 사용법
    return의 사용법
  5. 그린
    210424 오ㅏㄴ료
  6. yogg
    감사합니다~~~
  7. 휴, 감사합니다
  8. 요모
    2021-03-29
  9. 김우중
    감사합니다
  10. 단디
    완료
  11. 뚜따띠또따
    21.03.24 완료!
  12. 봉가리봉봉
    아!! 동영상앞에 빨간색 글이 있는걸 못봤네요.
    괄호를 하면 된다고 하셔서 괄호를 하니까 되네요.
    +(left+right)+ <----이렇게 ㅋ
    수 끼리 먼저 연산을 해주어야 한다는 말씀이군요.
    감사합니다!!
    대화보기
    • 봉가리봉봉
      감사합니다. 잘 봤습니다.
      질문이 있는데요. 주제에서는 좀 벗어났지만, return 영상에서 sumColorRed(2,3) 함수 실행시에
      출력이 빨간색 23 이 나왔는데요. 2+3=5가 나오기를 의도했잖아요?
      이걸 수정하려면 어떻게 해야할까요??
      함수 내부 표현식에서 문제가 생긴것 같긴한데... 궁금하네요...
    • You_S_B
      정리가 잘 된 댓글을 제가 보기위해 올립니다
      function sum(left, right){
      document.write(left+right);
      }

      이란 함수가 만들어져 있다고 한다면 sum이란 함수는 'left값과 right를 더한 값을 출력'하는 기능을 가진 함수입니다.

      따라서 sum()함수를 호출하면 5가 출력되지만, sum()이란 함수 자체가 5란 값을 가지고 있는 것은 아닙니다.

      그래서 sum()을 이용한 연산, 예를들어 sum(3,4)+6 이란 연산을 수행한다면 7+6의 연산결과가 나오는게 아니라

      7과 에러코드 하나가 발생합니다.

      sum()이란 함수를 이용하여 연산을 하고 싶을 경우에는 sum()함수 안에 return값을 부여해 주어야 합니다.
    • You_S_B
      와씨 감사합니다
      대화보기
      • 졸대
        완료!
      • gkalsdlf
        이 리턴이 왜 중요하단 건지 이해를 못했습니다 아직 경험이 없어서 그런가
      • rose_lex
        return이 적용이 안되서 에러 먹었나 소스코드 그대로 붙여넣기하니 잘되네요. 그래서 일단 다 지우고 차근차근 처음부터 꼼꼼히 입려하니 잘 됩니다. 오타가 났거나 제가 적용을 잘 못 한듯해요
      • natureH
        작성하신 sum2라는 함수를 보니, 다시 해당 값을 출력하는 return이 정의 되 지 않아서 그런거 아닐까요?

        function sum2(left,right){return left+right};
        sum2(2,3);

        으로 다시 해보시면 어떨까요?
        대화보기
        • 21.03.05 완료
        • function sum2(left,right){return left+right};
          sum2(2,3);
          대화보기
          • 비더베스트
            웹에서 console 실행하고 function sum2(left,right){left+right};
            sum2(2,3)

            이렇게 실행하면 그냥 console에서 2+3 으로 처리되서 5로 출력될 것 같은데 undefined로 출력되네요. 함수의 ()괄호 안에 들어가는 변수 값이 혹은 함수의 {}안의 2+3의 출력값이 숫자 데이터가 아닌 다른 데이터로 인식되는 건가요? 뭔가 어렵군요 허헣
          • 진돌
            2021.02.26 완료!
          • 노원신
            이해한거 같으면서 이해가 안되는 상태이네요 ㅋ
          • 강정진
            그나마 함수는 좀 이해되네요 ㅋㅋ
          • gelonso
            아직 return에 대해서 100% 완벽하게 이해하진 못했지만, 댓글보고 혼자 계속 생각하면서 되니이니까 조금은 이해가 가는것 같아요!어렵지만 계속 복습해봐야겠어요!
          • 서준
            완료! 23덕에 조금 헤맸네요!
          • 이론 꿋
          • 완료
          • Yohanesty
            출석
          • 임찬혁
            완료
          • hanel_
            21.1.25
          • 푸른벚꽃
            21.1.25
          • chimhyangmoo
            2021.01.24
          • 몰댕
            21.01.15
          • 걸어가는신사
            2021.01.14
          • younghwani
            완료!
          • 이현수
            2021.01.10(일)
          • jeisyoon
            감사합니다.
          • Johnny Q Ahn
            뭔말인지 모르겠다 ㅎㅎㅎㅎ 그냥들어야징 ㅋㅋ
          • unknown
            숫자가 문자 먹게 되면 에러뜨는 언어 리스트:
            숫자가 문자 먹어도 혼종해서 인터프리터, 인터페이스에 출력되는 언어:

            리스트 좀.

            다 좋다가 <br> 저거 너무 깨네 ㅇㅅㅇ
          • unknown
            2.번 영상 하이라이트 04:30
            변수(일반명사?) → 매개편수(전문용어, 전문문법가: 프로그래머) → (번역, 직역) 파라미터.

            function와 그 선언문, 소괄호의 얘기.

            근데 <br> 구조적으로 왜 써야하는건지 의문
            저거 막을려면 어떤 코드가 필요한지?..
          • unknown
            선형대수학하는 느낌.
            1+1을 철학적으로 탐구하다. ㅁㄴㅇㄹ
          • 서울사이버대학을다니고
            <!DOCTYPE html>
            <html>
            <head>
            <meta charset="utf-8">
            <title></title>
            </head>
            <body>
            <h1>Function</h1>

            <h2>Basic</h2>
            <ul>
            <script>
            function two(){
            document.write('<li>2-1</li>');
            document.write('<li>2-2</li>');
            }
            document.write('<li>1</li>');
            two();
            two();
            </script>
            </ul>

            <h2>Parameter & Argument</h2>
            <script>
            function onePlusOne(){
            document.write(1+1+'<br>');
            }
            function sum(left,right){
            document.write(left+right+ '<br>');
            }

            onePlusOne();
            sum(2,3); //5

            </script>

            <h2>Return</h2>
            <script>
            function sum2(left,right){
            return left+right;
            }
            document.write(sum2(2,3)+'<br>');
            document.write('<div style="color:red">'+sum2(2,3)+'</div>');
            document.write('<div style="font-size:3rem;">'+sum2(2,3)+'</div>');
            </script>

            </body>
            </html>
          • 주니어개발자
            갓고잉님, 이부분 코드 스니펫 수정 해주셔야 될 것 같습니다.

            var modifyPoint = document.querySelector('#content > h2:nth-child(15)');
            modifyPoint.scrollIntoView();
            (개발자 콘솔에 입력하면 해당위치로 이동합니당)


            괄호를 사용해서 2와 3을 먼저 더해주셔야 한다구 하셨는데 정작 코드는 반영이 안되어있더라구용 ㅎㅎ
            *아래로 수정
            document.write('<div style="color:red">'+ ( left+right ) +'</div><br>');
          • 샴파뉴
            2020.12.28
          • 박병진
            감사합니다. 복습완료 2020. 12 26
          • LiveFreeOrDie
            고마워요
          • 생활둘기
            2020 12 19
          • 조성호
            2020.12.17 완료
            소중한정보 감사합니다!
          버전 관리
          egoing
          현재 버전
          선택 버전
          graphittie 자세히 보기