01. 선언적 함수
함수를 만드는 방법입니다.
{
function func(){
document.write("1번. 함수가 실행되었습니다.")
}
func();
}
결과보기
02. 익명 함수
변수명에 함수코드를 저장해 사용합니다.
{
데이터 타입 (자료형) --> 타입 스크립트
const x = 100;
const x1 = "100";
const x2 = [];
const x3 = {};
const x4 = null, undefined;
const x5 = function(){}
const x6 = true, boolean;
const func = function(){
document.write("2번. 함수가 실행되었습니다.")
}
func();
}
결과보기
03. 매개변수 함수
함수를 호출할 때 인수로 전달된 값을 함수 내부에서 사용할 수 있게 해주는 변수입니다.
또한, 함수의 인수(argument)란 함수가 호출될 때 함수로 값을 전달해주는 변수를 가리킵니다.
{
function func(str){ //함수 안에 넣었다고해서 파라미터,인자라고 불린다
document.write(str);
}
func("3번. 함수가 실행되었습니다.
")
}
결과보기
04. 리턴값 함수
리턴값이란 함수가 어떠한 기능을 수행하고 그 결과를 호출한 곳으로 돌려주는 값을 말합니다.
함수가 어떠한 기능을 수행하고 돌려줄 값이 있으면 return 명령을 사용합니다.
{
function func(){
const str = "4번. 함수가 실행되었습니다.4
";
return str;
}
document.write(func());
}
결과보기
05. 화살표 함수 : 선언적 함수
기본 함수 표현을 화살표를 통해서 좀 더 간단하게 표현 해줄 수 있는 방법입니다.
{
func = () => document.write("5번. 함수가 실행되었습니다.");
func();
}
결과보기
06. 화살표 함수 : 익명 함수
기본 함수 표현을 화살표를 통해서 좀 더 간단하게 표현 해줄 수 있는 방법입니다.
{
//1번째 방법
const func = function(){
document.write("6-1번. 안녕")
}
//2번째 방법
const func = () => {
document.write("6-1번. 안녕")
}
//3번째 방법
const func = () => document.write("6-1번. 안녕");
func();
}
결과보기
07. 화살표 함수 : 매개변수 함수
기본 함수 표현을 화살표를 통해서 좀 더 간단하게 표현 해줄 수 있는 방법입니다.
{
//1번째 방법
function func(str){
document.write(str);
}
//2번째 방법
func = (str) => document.write(str);
//3번째 방법
func = str => document.write(str);
func("7번. 안녕");
}
결과보기
08. 화살표 함수 : 리턴값 함수
기본 함수 표현을 화살표를 통해서 좀 더 간단하게 표현 해줄 수 있는 방법입니다.
{
// function func(){
// const str = "8번. 안녕";
// return str;
// }
func = () => {
const str = "8번. 안녕";
return str;
}
document.write(func())
}
결과보기
09. 화살표 함수 : 익명함수 + 매개변수 + 리턴값
기본 함수 표현을 화살표를 통해서 좀 더 간단하게 표현 해줄 수 있는 방법입니다.
{
const func = (str) => { //변수에 매개변수 삽입 후
return str; //매개변수를 리턴해준다.
}
document.write(func("함수가 실행되었습니다.9<br>")); //변수 출력
}
결과보기
09. 화살표 함수 : 익명함수 + 매개변수 + 리턴값
기본 함수 표현을 화살표를 통해서 좀 더 간단하게 표현 해줄 수 있는 방법입니다.
{
const func = (str) => { //변수에 매개변수 삽입 후
return str; //매개변수를 리턴해준다.
}
document.write(func("함수가 실행되었습니다.9<br>")); //변수 출력
}
결과보기
10. 화살표 함수 : 익명함수 + 매개변수 + 리턴값
기본 함수 표현을 화살표를 통해서 좀 더 간단하게 표현 해줄 수 있는 방법입니다.
{
const func = str => { //변수에 매개변수 삽입 후
return str; //매개변수를 리턴해준다.
}
document.write(func("함수가 실행되었습니다.10<br>")); //변수 출력
}
결과보기
11. 화살표 함수 : 익명함수 + 매개변수 + 리턴값 + 괄호 생략 + 리턴 생략
기본 함수 표현을 화살표를 통해서 좀 더 간단하게 표현 해줄 수 있는 방법입니다.
{
const func = (str) => { //const가 있냐 없냐에 따라 익명 선언적 함수 둘 중 하나로 결정됨
return str;
}
document.write(func("함수가 실행되었습니다.11
")); //변수 출력
}
결과보기
12. 화살표 함수 : 익명함수 + 매개변수 + 리턴값 + 괄호 생략 + 리턴 생략
기본 함수 표현을 화살표를 통해서 좀 더 간단하게 표현 해줄 수 있는 방법입니다.
{
const func = str => str; //const가 있냐 없냐에 따라 익명 선언적 함수 둘 중 하나로 결정됨
document.write(func("함수가 실행되었습니다.12
")); //변수 출력
}
결과보기
13. 함수 유형 : 함수와 매개변수를 이용한 형태
함수 : 실행문 집합체, 재활용
{
function func(num, str1, str2){ //function func (자리에) 매개변수를 지정 후
document.write(num + "." + str1 + "가 "+ str2 + "되었습니다.") //함수안에 내용을 이런식으로 활용 가능
}
func("1", "함수", "실행"); //매개변수는 변수안에 변수를 선언 가능하다 지금은 str1에 "함수" 넣은 상태
func("2", "자바스크립트", "실행"); //매개변수는 변수안에 변수를 선언 가능하다 지금은 str1에 "함수" 넣은 상태
func("3", "제이쿼리", "실행"); //매개변수는 변수안에 변수를 선언 가능하다 지금은 str1에 "함수" 넣은 상태
}
결과보기
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
14. 함수 유형 ; 함수와 변수를 이용한 형태
---
{
function func(num1, str1, com){
document.write(num1 + "함수가 실행되었습니다.")
}
const youNum1 = 1;
const youNum2 = 2;
const youNum3 = 1;
const youStr1 = "함수";
const youStr2 = "자바스크립트";
const youStr3 = "제이쿼리";
const youCom = "실행";
func(youNum1, youNum2, youCom); // 1번 func() 괄호 안의
}
결과보기
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
15. 함수 유형 : 함수와 배열, 객체를 이용한 형태
---
{
function func(num1, str1, com){
document.write(num1 + "." + str1 + "가 " + com +"되었습니다.
")
}
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);
}
결과보기
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
16. 함수 유형 : 객체 안에 변수와 함수를 이용한 형태
---
함수 유형 : 객체 안에 변수와 함수를 이용한 형태
{
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();
}
결과보기
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
17. 함수 유형 : 객체 생성자 함수
---
{
function func(num, name, word){
const num = num; // 원래는 이렇게 const num에는 무엇 무엇 하나하나 지정해주었는데
this.num = num; //this 라는걸 쓰면서 재활용을 한다.
this.name = name; //name이라는 변수에 name 매배변수의 값 1 저장
this.word = word; //word이라는 변수에 word 매배변수의 값 1 저장
this.result1 = function(){ //객체안에 함수를 적고 불러오는것이 가능합니다.
document.write(this.num+this.name+"가 "+this.word+"되었습니다.
")
}
}
//인스턴스 생성 : this 는 인스턴스(new)를 적어주어야만 사용이 가능하빈다.
const info1 = new func("1", "함수", "실행");
const info2 = new func("2", "자바스크립트", "실행");
const info3 = new func("2", "자바스크립트", "실행");
//실행
info1.result1();
info2.result1();
info3.result1();
}
결과보기
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
18. 함수 유형 : 프로토타입 함수
---
{
function func(num, name, word){
// const num = num; // 원래는 이렇게 const num에는 무엇 무엇 하나하나 지정해주었는데
this.num = num; //this 라는걸 쓰면서 재활용을 한다.
this.name = name; //name이라는 변수에 name 매배변수의 값 1 저장
this.word = word; //word이라는 변수에 word 매배변수의 값 1 저장
}
func.prototype.result = function(){ //객체안에 함수를 적고 불러오는것이 가능합니다.
document.write(this.num+this.name+"가 "+this.word+"되었습니다.
")
}
//인스턴스 생성 : this 는 인스턴스(new)를 적어주어야만 사용이 가능하빈다.
const info1 = new func("1", "함수", "실행");
const info2 = new func("2", "자바스크립트", "실행");
const info3 = new func("2", "자바스크립트", "실행");
//실행
info1.result();
info2.result();
info3.result();
}
결과보기
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
19. 함수 유형 : 객체 리터럴 함수
---
{
function func(num, name, word){
// const num = num; // 원래는 이렇게 const num에는 무엇 무엇 하나하나 지정해주었는데
this.num = num; //this 라는걸 쓰면서 재활용을 한다.
this.name = name; //name이라는 변수에 name 매배변수의 값 1 저장
this.word = word; //word이라는 변수에 word 매배변수의 값 1 저장
}
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+"되었습니다.
");
}
}
//인스턴스 생성 : this 는 인스턴스(new)를 적어주어야만 사용이 가능하빈다.
const info1 = new func("1", "함수", "실행");
const info2 = new func("2", "자바스크립트", "실행");
const info3 = new func("2", "자바스크립트", "실행");
//실행
info1.result1();
info2.result2();
info3.result3();
}
결과보기
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
20. 즉시 실행 함수
---
(function func(){
document.write("함수실행")
}());
//화살표함수
(() => {
document.write("함수실행")
})();
결과보기
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
21. 파라미터 함수
---
function func(str){
document.write(str)
}
func("함수가 실행되었습니다.")
function func(str = "함수가 실행되었습니다."){
document.write(str)
}
func()
결과보기
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
22. 아규먼트 함수
---
function func(a, b){
document.write(arguments[0]);
document.write(arguments[1]);
}
func("함수가 실행되었습니다.", "함수가 실행되었습니다.");
결과보기
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.
23. 재귀함수 : 자기 자신을 호출
---
// 반복적으로
function func(num){
if(num<=1){
document.write("함수가 실행되었습니다."+num);
} else {
document.write("함수가 실행되었습니다."+num);
func(num - 1);
}
// func()
}
func(10);
//애니메이션
function animation(){
document.write("함수가 실행되었습니다.");
requestAnimationFrame(animation);
}
animation();
결과보기
24. 재귀함수 : 자기 자신을 호출
---
//재귀함수 : 동시에 여러개 실행
//콜백함수 : 하나의 함수가 실행 -> 두번째 함수가 실행
//콜백함수란 각 함수가 순서대로 완벽하게 출력이 되면 다음 함수가 출력되게끔 해주는것
//웹사이트 이미지 로딩이 순서대로 나온것과 비슷
function func(){
document.write("함수가 실행되었습니다. 1");
}
function callback(str){
document.write("함수가 실행되었습니다. 2");
str();
}
callback(func);
결과보기
25. 재귀함수 : 자기 자신을 호출
---
//웹사이트 이미지 로딩이 순서대로 나온것과 비슷
function func(index){
document.write("함수가 실행되었습니다." + index);
}
z
function callback(num){
for(let i=1; i<=10; i++){
num(i);
}
}
callback(func);
결과보기
26. 콜백함수 : 동기/비동기
---
function funcA(callback){
setTimeout(()=>{
console.log("funcA가 실행되었습니다.
");
callback();
},1000);
}
function funcB(){
setTimeout(()=>{
console.log("funcB가 실행되었습니다.
");
callback();
},1000);
}
function funcC(){
setTimeout(()=>{
console.log("funcC가 실행되었습니다.
");
callback();
},1000);
}
function funcD(){
setTimeout(()=>{
console.log("funcD가 실행되었습니다.
");
},1000);
}
// 출력 되기 전에 콜백함수를 통해 출력 값을 뒤바꿈
// 1초 뒤에 funcA가 실행되었을때 funcB를 불러들임
funcA(function(){
funcB(function(){
funcC(function(){
funcD();
});
});
});
결과보기
27. 콜백함수 : Promise
---
결과보기
28. 콜백함수 : 동기/비동기
---
//28번
function func(){
function funcA(){
console.log("함수가 실행되었습니다.");
};
funcA();
function funcB(){
console.log("함수가 실행되었습니다.");
};
funcB();
}
func();
}
결과보기
29. 클래스
---
class study{
constructor(num, name){
this.num = num;
this.name = name;
this.job = name;
}
result(){
document.write(this.num + ",내 이름은 "+this.name+"이며, 직업은"+this.job+"입니다.");
};
}
const info1 = new study("1", "웹쓰", "웹퍼블리셔");
const info2 = new study("2", "웹쓰", "웹퍼블리셔");
info1.result();
info2.result();
결과보기
30. 클래스 상속
---
class study{
constructor(num, name){
this.num = num;
this.name = name;
this.job = name;
}
result(){
document.write(this.num + ",내 이름은 "+this.name+"이며, 직업은"+this.job+"입니다.");
};
}
class study2 extends study {
constructor(num, name, job, age){
super(num, name, job);
this.age = age;
}
result(){
document.write(this.num + ",내 이름은 "+this.name+"이며, 직업은"+this.job+"이며, 나이는"+this.age+"살 입니다.");
};
}
const info1 = new study("1", "웹쓰", "웹퍼블리셔");
const info2 = new study2("2", "웹쓰", "웹퍼블리셔", 100);
info1.result();
info2.result();
info2.result2();