[코딩앙마]JS 기초강좌-함수(1)

magiri·2022년 8월 24일
0

코딩앙마

목록 보기
9/14

함수 function


1) 함수명은 자유롭게 정할 수 있음
2) 매개변수는 없을수도, 한개 혹은 그 이상일 수 있음. 쉼표로 구분
3) {} 중괄호 내부는 함수의 실행코드를 작성
4) 함수명 뒤에 ()붙여서 호출 가능 매개변수가 필요하다면 ()안에 넣어줌
ex) sayHello('Mike');

  1. 매개변수가 없는 함수
        function showErorr(){
        	alert('에러발생');
        }
        showErorr();
  2. 매개변수가 있는 함수
        function sayHello(name){
        	const msg = `Hello, ${name}`;
            console.log(msg);
        }
        sayHello('Mike'); // "Hello, Mike"
        sayHello('Tom'); // "Hello, Tom"
        
        - 혹은 매개변수를 모를 때
        
        function sayHello(name){
        	let msg = `Hello`;
            if(name){
            	msg += `, ${name}`;
            }
            console.log(msg);
        }
        sayHello(); // "Hello"
        sayHello(Mike); // "Hello, Mike"
       : 매개변수가 없을 때 함수 실행 시 undefined 반환 - if에 undefined값이 들어가면 false로 반환되기 때문에 let msg = 'Hello'로 적용되어 log에 찍힘
  3. 지역변수와 전역변수
    - 함수 내부의 msg와 같은 변수는 함수 외부에서는 사용하지 못함
    - 이러한 변수를 지역변수(local varable), 함수 내부에서만 사용 가능
        function sayHello(name){
        	let msg = `Hello`;
            if(name){
            	msg += `, ${name}`;
            }
            console.log(msg);
        }
        console.log(msg) // 에러!
    - 변수를 함수 외부에서도 사용하고 싶다면 함수 외부로 빼줘야함
    - 어디서나 접근할 수 있는 변수를 전역변수(global varable)
        	let msg = `Hello`;
        
        function sayHello(name){
            if(name){
            	msg += `, ${name}`;
            }
            console.log(msg);
        }
        console.log(msg) // "Hello"

        - 3행 msg는 전역변수
        - 7행 msg는 지역변수
        - 함수 내부에서 let으로 전역변수와 동일한 이름으로 선언 가능하고 서로 간섭받지 않음

       - 9행 호출이 undefined으로 반환되는 이유
    : 매개변수로 받은 값은 복사된 후 함수의 지역변수가 됨

    Tip
    - 전체 서비스에서 공통으로 바라봐야하는 변수를 제외하고는 지역변수를 쓰자
    - 전역변수가 많아지면 관리 힘들어짐
    - 함수에 특화 된 지역변수를 사용하자

     

0개의 댓글