본문 바로가기

프로그래밍/JavaScript

JavaScript_함수

① 함수란 ?

  • 자바스크립트 코드를 저장한다.
  • function이라는 키워드를 이용하여 선언한다.
  • 출력문, 제어문 등의 코드를 저장하고 데이터를 반환한다.

 

- 기본 함수 정의문

function myFnc(){
    document.write("hello");
    ...
}

myFnc(); //함수 호출 한 번
myFnc(); //함수 호출 두 번

결과
hellohello

 

 

- 일반 함수 정의 vs 익명 함수 선언 참조

<일반 함수>

testFnc();

//§ 호이스팅

function testFnc() {
    자바스크립트 코드;
}

→ 일반 함수는 함수 정의문보다 호출문이 먼저 나와도 함수 정의문을 끌어올려 함수를 호출할 수 있다.

 

<익명 함수>

testFnc();

// 호이스팅X

var testFnc=function() {
    자바스크립트 코드;
}

→ 익명 함수는 함수 정의문보다 호출문이 먼저 나오면 호출할 수 없다.

 

 

- 매개변수가 있는 함수 정의문

function 함수명{(매개변수1, 매개변수2, ...매개변수n)
    자바스크립트 코드;
}
함수명(데이터1, 데이터2, ...데이터n);

 

- 매개변수 없이 함수에 전달된 값 받아오기

function sum(){
    var sum=arguments[0]+arguments[1]+arguments[2];
    
    document.write(sum);
}

sum(10, 20, 30);

결과 
60

 

 

② 함수에서 return문의 역할

- 데이터를 반환하고 강제 종료하는 return문 

function 함수명() {
    자바스크립트 코드1;
    return 데이터(값);
-------------------------------------------
    자바스크립트 코드2;
}

var 변수=함수명();

→ 함수 호출문 => 함수 코드 실행 => 자바스크립트 코드2를 무시하고 데이터 반환

 

 

③ 함수 스코프 

- 함수 스코프란?

- 전역 변수와 지역 변수의 개념과 차이

var 변수명;	//전역 변수

function 함수명() {
    var 변수명;	//지역 변수
}
function 함수명1(){
    자바스크립트 코드;	//전역 함수
}

function 함수명2(){
    function 함수명3(){
        자바스크립트 코드;	//지역 함수
    }
}

 

 

 

④ 객체 생성자 함수의 활용

- 객체 생성자 함수

function 함수명(매개변수1, 매개변수2, ...매개변수n) {	//객체 생성자 함수
    this.속성명=새 값;
    this.함수명=function(){
        자바스크립트 코드;
    }
}

var 참조 변수(인스턴스 네임)=new 함수명();	//객체 생성

 

 

- 메모리 절약을 위한 프로토타입 사용하기

: 프로토타입을 이용하여 공통된 메서드를 프로토 타입에 정의해 필요한 객체를 가져다 써 메모리를 절약할 수 있다.

function 함수명(매개변수1, 매개변수2, ...매개변수n){
    this.속성명=새 값;
}

함수명.prototype.함수명=function(){
    자바스크립트 코드;
}

var 참조 변수(인스턴스 네임)=new 함수명();

 

 

 

⑤ 자바스크립트 내장 함수

종류 설명
encodeURI() 문자를 유니 코드값으로 인코딩한다.
encodeURIComponent() 문자를 유니 코드값으로 인코딩한다.
decodeURI() 유니 코드값을 디코딩해 다시 문자화한다.
decodeURIComponent() 유니 코드값을 디코딩해 다시 문자화한다.
parseInt() 문자열 데이터를 정수형 데이터로 반환한다.
parseFloat() 문자열 데이터를 실수형 데이터로 반환한다.
String() 문자형 데이터로 반환한다.
Number() 숫자형 데이터로 반환한다.
Boolean() 논리형 데이터로 반환한다.
isNaN() is Not a Number의 약자이며 숫자가 아닌 문자가 포함되어 있으면 true를 반환한다.
eval() 문자형 데이터를 따옴표가 없는 자바스크립트 코드로 처리한다.

'프로그래밍 > JavaScript' 카테고리의 다른 글

JavaScript_컴파일러 VS 인터프리터  (0) 2023.05.07
JavaScript_.querySelector와 .innerHTML  (0) 2023.05.07
JavaScript_객체  (2) 2023.01.18
JavaScript_continue 문  (0) 2022.08.24
JavaScript_while 문  (0) 2022.08.24