// ★★★함수★★★
// 함수의 선언
// 1. 기본
function test1(){
console.log("test1의 함수");
// return 22;
}
test1(); // --> java의 매서드처럼 호출을해야 출력이되겠지?
// 2. return문
function test2(){
return 10;
}
const v1 = test2(); // 변수를 선언해야 그 변수에 저장됐던 return값이 들어가고
console.log(v1); // 출력을해야 console에 뜨겠지
const v2 = test1(); // 출력 : test1의 함수
console.log(v2); // 출력 : undefined --> null이랑 다르다. (return할 값이 없다는....)
// --> Q. 만약 test1 함수에 return 22를 넣으면?
// --> 출력 : 22 / const v2 = test1()이거는 test1의 함수만 출력됨. 22는 v2에 저장됐나봐
// 3. 매개변수
function test3(a, b, c){
console.log("a : " + a);
console.log("b : " + b);
console.log("c : " + c);
}
test3("매개변수", 1, true);
test3("이게되니?"); // a : 이게되니? , b : undefined, c : undefined.... 사용XXX
// 4. like 매서드 오버로딩
function test4(a=1, b=2, c=3){
console.log("a : " + a);
console.log("b : " + b);
console.log("c : " + c);
}
test4(); // --> 매개변수를 적용하지 않았을 때, 초기값을 설정할 수 있따.
test4("이것도", "된다구"); // 이것도 된다구 3
test4(c=777, b=2323, a="우하하"); // --> 이거는 안되지요...ㅎ 무시해 (그저 순서대로 들어갈뿐.)
// 5. 이런식으로도 사용가능... : ★★★ 변수에 함수를 넣을 수 있다
function test5(x, y){
console.log("변수에함수넣기");
return x + y;
}
const result1 = test5(10, 44);
console.log(result1);
const qqqq = test5;
// test5()이게 호출이고, 괄호가 없지?
// --> qqqq에 test5함수를 넣겠다는거지
// ★★★ 변수에 함수를 넣을 수 있다
console.log(qqqq("이런식으로도", "사용가능"));
const resultqqqq = qqqq(100, 777);
console.log(resultqqqq);
console.log(test5());
// 5-1. 활용1 (call back함수)
// 정의 : 내가 정의하지만, 내가 호출하지 않아 (= 자바의 인터페이스같지?)
// --> 다른 함수에 인수로 전달되어 나중에 호출되는 함수
// --> 주로 비동기 작업을 다룰 때, 이벤트 처리 및 다른 비동기 작업과 함께 사용됩니다.
function test6(){
console.log("call back함수 : 내가 정의하지만, 내가 호출하지 않아");
}
// setInterval(test6, 3000);
// --> 1초(1000 밀리초) 간격으로 test6의 내용을 콘솔에 출력하는 예제
// 5-2. 활용2
function sqr(x) { // 제곱의 값을 구하는 함수 sqr를 정의함.
return x * x;
}
var sqrNum = sqr; // 변수 sqrNum에 함수 sqr을 대입함.
console.log(sqr(4)); // 기본방법 : 함수 sqr을 호출함. -- 출력: 16
console.log(sqrNum(4)); // 변수에 함수를 넣은 방법 : 변수 sqrNum를 함수처럼 호출함. -- 출력: 16
console.log(sqrNum);
// 출력 :
/* sqr(x) { // 제곱의 값을 구하는 함수 sqr를 정의함.
return x * x;
}*/
// ---> 값으로서의 함수로, sqrNum에 sqr함수를 넣은거니까는....
'JavaScript > DAY 34 _ 23.10.11' 카테고리의 다른 글
함수2 (0) | 2023.10.11 |
---|---|
배열 (0) | 2023.10.11 |
조건/반복문 (1) | 2023.10.11 |
연산자 (0) | 2023.10.11 |
변수 (0) | 2023.10.11 |