JavaScript(8) switch/function

easyliving·2022년 12월 14일
0

FRONT_END (JAVA_SCRIPT)

목록 보기
9/55

switch

      switch(x) {
        case 'value1':  
          ...
          [break]

        case 'value2':  
          ...
          [break]

        default:
          ...
          [break]
		}
		✔ break가 나오기 전까지는 밑의 case를 계속 진행
        ✔ 문자는 '' value값 지정 
        

function

	//기본 모양
	function name(parameter1, parameter2, ... parameterN) {}
	
	//매개변수 기본값 설정
	function showMessage(from, text = "No reply") {
 	 alert( from + ": " + text );
	}

	showMessage("Ann"); // Ann: no text given


	function showMessage(from, text = Function2()) {
 	 // Function2()은 text값이 없을 때만 호출됨
  	// Function2()의 반환 값이 text의 값이 됨
}

	//반환값
	
	function sum(a, b) {
 	 return a + b;
	}

    let result = sum(1, 2); // result값에 sum()함수 반환값이 들어감
   
		✔조심해야하는 부분 
        
        return 값이 길면 괄호를 열어서 넣어준다. 
        대신 괄호는 return에 붙여서 써준다.
        아니면, return 뒤에 바로 ;가 붙은 것으로 인식해서
        아무것도 반환하지 않은것으로 인식해 버린다.

함수 저장


function origin() {   // (1) 함수 생성
  alert( "try!!" );
}

let copy = origin;    // (2) 함수 복사 여기서 만약 origin();을 
				//넣었다면 origin()함수의 반환값을 copy에 넣어주는 것과 같다. 

func(); 
sayHi(); 

콜백 함수


	function ask(question,accept,reject){
		if(confirm(question)){accept();}
		else{no();}
	}
	
	function accept_fun(){
		alert("접속되셨습니다.");
	}//콜백함수
	
	function reject_fun(){
		alert("접속되지 않았습니다.");
	}//콜백함수
	
	ask("관리자 이신가요?",accept_fun,reject_fun);

익명함수


function ask(question,accept,reject){
		if(confirm(question)){accept();}
		else{no();}
	}
	

	ask("관리자 이신가요?",
		function(){alert("접속 됨")}, //익명함수
		function(){alert("접속 안됨")});

함수 표현식 vs 함수 선언식



//함수선언
function sum(a, b) {
  return a + b; 
}

//함수 표현식
let sum = function(a, b) {
  return a + b;
};


		✔함수 표현식은 실제 실행 흐름이 해당 함수에 도달했을 때 함수를 생성함
        따라서 실행 흐름이 함수에 도달했을 때부터 해당 함수를 사용할 수 있음
	
    	✔함수 선언문은 함수 선언문이 정의되기 전에도 호출할 수 있음 
        스크립트가 실행되기전 준비단계에서 전역에 선언된
        함수 선언문을 찾아 해당 함수를 생성하기 때문.
        
        

엄격모드

	엄격 모드에서 함수 선언문이 코드 블록 내에 위치하면 
    해당 함수는 블록 내 어디서든 접근할 수 있음.
    하지만 블록 밖에서는 함수에 접근하지 못함.

	함수 선언문은 if 안 블럭에 있고, 블럭을 빠져나와서 
    함수를 불러오면, error가 발생한다. 

화살표 함수

let func = (arg1, arg2, ...argN) => expression

//e.g

let sum = (a, b) => a + b;

alert( sum(1, 2) ); // 3
profile
가끔져요

0개의 댓글