Giant Danio Fish
본문 바로가기
Javascript

함수의 유형

by 코딩왕자 2022. 8. 22.

함수의 유형

안녕하세요. 함수의 유형에 대해 설명 드리겠습니다.


함수와 매개변수를 이용한 형태

매개변수를 이용해서 함수를 만들 수 있습니다.

function func(num,str1, str2){
    document.write(num + ". " + str1 + "가 " + str2 +"되었습니다.");
}
func("1","함수", "실행");
func("2","자바스크립트", "실행");         
func("3","제이쿼리", "실행");   
결과 확인하기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.

함수와 변수를 이용한 형태

실행문에 변수를 넣어서 함수를 실행하였습니다.

function func(num, str1, str2){
    document.write(num + ". " + str1 + "가 "+ str2 + "되었습니다.");
}
const youNum1 = 1;
const youNum2 = 2;
const youNum3 = 3;
const youStr1 = "함수";
const youStr2 = "자바스크립트";
const youStr3 = "제이쿼리";
const youCom1 = "실행";
결과 확인하기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.

함수와 배열, 객체를 이용한 형태

배열과 객체를 이용해서 함수를 만들었습니다.

function func(num, str1, str2){
    document.write(num + ". " + str1 + "가 "+ str2 + "되었습니다.");
}
const info = [
    {
        num : "1",
        name : "함수",
        com : "실행"
    },
    {
        num : "2",
        name : "자바스크립트",
        com : "실행"
    },
    {
        num : "3",
        name : "제이쿼리",
        com : "실행"
    }
];

func(info[0].num, info[0].name, info[0].com);
func(info[1].num, info[1].name, info[1].com);
func(info[2].num, info[2].name, info[2].com);
결과 확인하기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.

객체 안에 변수와 함수를 이용한 형태

객체 안에 함수를 넣어 만들었습니다.

const info = {
    num1 : 1,
    name1 : "함수",
    word1 : "실행",
    num2 : 2,
    name2 : "자바스크립트",
    word2 : "실행",
    num3 : 3,
    name3 : "제이쿼리",
    word3 : "실행",

    result1 : function(){
        document.write( info.num1 + ". " + info.name1 + "가 " + info.word1 +"되었습니다");
    },
    result2 : function(){
        document.write( info.num2 + ". " + info.name2 + "가 " + info.word2 +"되었습니다");
    },
    result3 : function(){
        document.write( info.num3 + ". " + info.name3 + "가 " + info.word3 +"되었습니다");
    }
}

info.result1();
info.result2();
info.result3();
결과 확인하기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.

객체 생성자 함수

this를 사용해서 공통분모들을 최대한 줄였습니다.

function func(num, name, word){
    this.num = num;
    this.name = name;
    this.word = word;

    this.result = function(){
        document.write( this.num + ". " + this.name + "가 " + this.word +"되었습니다");
    }
}

// 인스턴스 생성
const info1 = new func("1", "함수", "실행");
const info2 = new func("2", "자바스크립트", "실행");
const info3 = new func("3", "제이쿼리", "실행");

//실행
info1.result();
info2.result();
info3.result();
결과 확인하기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.

프로토타입 함수

함수가 복잡해짐을 방지하기위해 prototype을 집어넣었습니다.

function func(num, name, word){
    this.num = num;
    this.name = name;
    this.word = word;

    func.prototype.result = function(){
        document.write( this.num + ". " + this.name + "가 " + this.word +"되었습니다");
    }
}

// 인스턴스 생성
const info1 = new func("1", "함수", "실행");
const info2 = new func("2", "자바스크립트", "실행");
const info3 = new func("3", "제이쿼리", "실행");

//실행
info1.result();
info2.result();
info3.result();
결과 확인하기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.

객체 리터럴 함수

사용하는 함수만 직접 정하기 위해서 프로토타입 함수를 리터럴 함수로 만들었습니다.

function func(num, name, word){
    this.num = num;
    this.name = name;
    this.word = word;
}

func.prototype = {
    result1 : function(){
        document.write( this.num + ". " + this.name + "가 " + this.word +"되었습니다");
    },
    result2 : function(){
        document.write( this.num + ". " + this.name + "가 " + this.word +"되었습니다");
    },
    result3 : function(){
        document.write( this.num + ". " + this.name + "가 " + this.word +"되었습니다");
    }
}

// 인스턴스 생성
const info1 = new func("1", "함수", "실행");
const info2 = new func("2", "자바스크립트", "실행");
const info3 = new func("3", "제이쿼리", "실행");

//실행
info1.result1();
info2.result2();
info3.result3();
결과 확인하기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.

'Javascript' 카테고리의 다른 글

문자열 관련 메서드 match()  (10) 2022.08.22
문자열 관련 메서드 search()  (11) 2022.08.22
includes()  (11) 2022.08.17
문자열 결합 / 템플릿 문자열  (10) 2022.08.17
문자열 관련 메서드 (replace(), replaceAll())  (9) 2022.08.17

댓글


광고 준비중입니다