함수 유형
지난번 함수 시간에 이어서 이번 시간에는 좀 더 복잡한 함수 유형에 대해 알아보겠습니다.
01. 함수와 매개변수를 이용한 형태
함수 : 실행문 집합체, 재활용
{
function func(num, str1, str2){
document.write(num + ". " +str1 + "가 "+ str2 +"되었습니다.");
}
func("1", "함수", "실행");
func("2", "자바스크립트", "실행");
func("3", "제이쿼리", "실행");
}
결과보기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
02. 함수와 변수를 이용한 형태
변수를 매개변수에 대입하여 사용합니다.
{
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 = "실행";
func(youNum1, youStr1, youCom1);
func(youNum2, youStr2, youCom1);
func(youNum3, youStr3, youCom1);
}
결과보기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
03. 함수와 배열, 객체를 이용한 형태
객체 안의 값을 매개변수로 사용합니다.
{
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. 제이쿼리가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
04. 객체 안에 변수와 함수를 이용한 형태
객체 안에 함수를 넣어서 실행합니다.
{
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. 제이쿼리가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
05. 객체 생성자 함수
편리함을 위해 객체 생성자 함수가 나왔습니다.
{
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. 제이쿼리가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
06. 프로트타입 함수
함수를 생성자 함수의 프로토 타입에 추가하여 함수를 사용합니다.
{
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. 제이쿼리가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
07. 객체 리터럴 함수
함수가 너무 많아질 경우 함수를 객체로 묶어서 프로토 타입에 추가 할 수 있습니다.
{
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. 제이쿼리가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
'Javascript' 카테고리의 다른 글
요소 크기 속성 / 메서드 (9) | 2022.09.01 |
---|---|
GSAP (7) | 2022.08.29 |
charAt() (4) | 2022.08.23 |
match() (4) | 2022.08.23 |
search() (4) | 2022.08.23 |
댓글