2024 - 03 - 18

2024. 3. 20. 11:57위키

728x90

함수

/*
* 값의 종류
- 실행할 수 없는 계열
  - 숫자
  - 문장
  - 논리값(true/false)
  - 객체
- 실행할 수 있는 계열
  - 함수
*/

console.clear();

// 자판기(함수)를 만드는 행위
// 아래 중괄호({})의 의미 : 함수의 시작과 끝을 정의
// 아래 변수의 이름은 say를 함수명이라고도 한다.
var say = function() {
    console.log("== 함수 시작 ==");
    console.log("안녕하세요.");
    console.log("반갑습니다.");
    console.log("== 함수 끝 ==");
};

// say() => say 라는 변수안에 들어있는 데이터를 실행한다.
// 자판기(함수)를 실행하는 행위
say();
say();
say();
say();
say();

 

// 문제 : 함수 3개를 정의하고 실행해주세요.

console.clear();

var 함수1 = function() {
    console.log("함수1 실행됨");
};

함수1();

var 함수2 = function() {
    console.log("함수2 실행됨");
};

함수2();

function 함수3() {
    console.log("함수3 실행됨");
}

함수3();

 

 

함수 - 매개변수

console.clear();

// 문제 : 매번 다르게 행동하는 함수를 만들어주세요.

// 전역변수
var mode = 0;

function hello() {
    // 지역변수라고 합니다.
    // 함수가 실행될 때 매번 새로 만들어집니다.
    var temp = 0; // 이 라인은 정답과 관련이 없습니다.
    
    mode++;
    
    if ( mode == 1 ) {
        console.log("안녕하세요.");
    }
    else if ( mode == 2 ) {
        console.log("곤니짜와");
    }
    else {
        console.log("헬로");
    }
}

hello();
// 출력 => 안녕하세요.

hello();
// 출력 => 곤니짜와

hello();
// 출력 => 헬로

 

console.clear();

// 문제 : 매번 다르게 행동하는 함수(v2)를 만들어주세요.

// var hello = function(mode) { } 와 아래는 같은 뜻
function hello(mode) {
    var msg = "안녕하세요.";
    
    if ( mode == "일본어" ) {
        msg = "곤니찌와";
    }
    else if ( mode == "영어" ) {
        msg = "헬로";
    }
    
    console.log(msg);
}

// "한국어" => 함수에게 넘기는 부가적인 정보, 인자
hello("한국어");
// 출력 => 안녕하세요.

hello("일본어");
// 출력 => 곤니짜와

hello("영어");
// 출력 => 헬로

 

console.clear();

// 문제 : 특정 언어로 인사를 여러번 하는 함수를 만들어주세요.

function hello(언어, 인사횟수) {
    var msg = "안녕하세요.";
    
    if ( 언어 == "영어" ) {
        msg = "hello";
    }
    else if ( 언어 == "일본어" ) {
        msg = "곤니짜와";
    }
    
    for ( var i = 0; i < 인사횟수; i++ ) {
        console.log(msg);
    }
}

hello("영어", 2);
// 출력
// hello
// hello
hello("한국어", 5);
// 출력
// 안녕하세요.
// 안녕하세요.
// 안녕하세요.
// 안녕하세요.
// 안녕하세요.
hello("일본어", 6);
// 출력
// 곤니짜와
// 곤니짜와
// 곤니짜와
// 곤니짜와
// 곤니짜와
// 곤니짜와

 

함수 - 리턴

 

// 함수는 자판기이다.
// 함수에 입력값(동전과 음료수 버튼 번호)를 넣으면 반환값(음료수) 를 얻을 수 있다.
// typeof 함수는 인자로 입력받은 값의 타입을 반환(리턴)한다.

console.clear();

var a = 1 > 1;
var typeOfA = typeof(a);
console.log("typeOfA : " + typeOfA);

var b = 1 == 1;
var typeOfB = typeof(b);
console.log("typeOfB : " + typeOfB);

var c = 1 + 1;
var typeOfC = typeof(c);
console.log("typeOfC : " + typeOfC);

var d = "1 + 1";
var typeOfD = typeof(d);
console.log("typeOfD : " + typeOfD);

 

// 문제 : 4칙연산 함수를 만들고 실행해주세요.
console.clear();

function plus(a, b) {
    var num = a + b;
    
    return num;
}

var minus = function(a, b) {
    var num = a - b;
    
    return num;
};

function multiply(a, b) {
    var num = a * b;
    
    return num;
}

var divide = function(a, b) {
    var num = a / b;
    
    return num;
};

var num1 = plus(10, 20);
var num2 = minus(10, 20);
var num3 = multiply(10, 20);
var num4 = divide(10, 20);

console.log("num1 : " + num1);
console.log("num2 : " + num2);
console.log("num3 : " + num3);
console.log("num4 : " + num4);

 

객체

console.clear();
// {} => 객체(버스, 코끼리)를 변수 외부에 만든다. 그리고 주소값을 리턴(반환, 변신)한다.
// 즉 사람1 이라는 변수에는 객체가 아닌 객체의 주소값이 저장된다.
var 사람1 = {};

// 주소값을 이용해서 실체(객체)에 접근해서 좌석(`이름`)을 만들고 값을 넣는다.
사람1.이름 = "홍길동";
사람1.나이 = 22;

console.log("사람1 이름 : " + 사람1.이름);
console.log("사람1 나이 : " + 사람1.나이);

console.log(사람1);

 

// 문제 : 각기 다른 3가지 방법으로 객체를 만들어주세요
console.clear();

var 사람1 = {
    이름 : "홍길동",
    나이 : 22
};

console.log(사람1.이름); // 객체를 한번에 만듬
// 출력 => 홍길동

var 캐릭터1 = {};
캐릭터1.공격무기 = "활";

console.log(캐릭터1.공격무기); // `.` 문법으로 데이터 채워넣기
// 출력 => 활

var 김제동 = {};
김제동["성격"] = "좋음";

console.log(김제동.성격); // [] 문법으로 데이터 채워넣기
// 출력 => 좋음

 

// 문제 : 객체안의 함수를 올바르게 정의해주세요.
// 조건 : 아래와 같이 출력되어야 합니다.

console.clear();
var 사람1 = {};
사람1.이름 = "홍길동";
사람1.나이 = 22;
사람1.자기소개 = function() {
    console.log("저는 22살 홍길동입니다.");
};

사람1.자기소개();
// 출력 => 저는 22살 홍길동입니다.

사람1.나이++;
사람1.이름 = "홍길순";

사람1.자기소개();
// 출력 => 저는 23살 홍길순입니다.

'위키' 카테고리의 다른 글

2024 - 03 - 25  (0) 2024.03.26
2024 - 03 - 11  (0) 2024.03.11