[JavaScript] chapter_02

DEVELOPERS_Ivan ㅣ 2023. 8. 21. 16:28

함수(==메소드) : js 내장함수(js 미리 만들어 놓은 함수들)
예) .split() , .toFixed() 등 함수 사용 시 코드 재사용(코딩 생산성 증가), 코딩 라인이 짧아짐(코딩 효율성 증가)

function 함수 만드는 법(함수 정의)

1) 함수 1st 형태(패턴)

function 함수명() {
실행문;
}
(2) 함수 사용(호출)
함수명();   // 함수 사용(호출)

 2) 함수 2nd 형태(패턴), ※1st 보다 효율적이기에 2nd 형태로 주로 사용하기!
사용법 : (1) 함수 정의
 function 함수명(매개변수, ...) {
실행문 = 실행문 + 매개변수; // 실행문에서 매개변수 활용
}

TODO : 3) 함수 3rd 형태(패턴)
변수의 허용범위(스코프) : 항상 중괄호 안에서만 의미가 있음
사용법 : (1) 함수 정의
    function 함수명(매개변수, ...) {
         let 결과 = 실행문(매개변수);
         return 결과; // 결과 내보내기(함수 밖으로 값을 내보냄)
    }   
 (2) 함수 사용(호출)
  let 변수 = 함수명(매개변수);
예제 3) 매개변수와 return 이 있는 함수를 정의해서 hello world 출력하세요.
함수 정의

더보기

 

// TODO : 함수(==메소드) : js 내장함수(js 미리 만들어 놓은 함수들)
//          예) .split() , .toFixed() 등
// 함수 사용 이유(why?) : 코드 재사용(코딩 생산성 증가),
//                       코딩 라인이 짧아짐(코딩 효율성 증가)
 
// TODO : 함수 만드는 법(함수 정의)
// TODO : 1) 함수 1st 형태(패턴)
// 사용법 : (1) 함수 정의
//          function 함수명() {
//              실행문;
//           }
//          (2) 함수 사용(호출)
//          함수명();   // 함수 사용(호출)

 

// 예제) 안녕하세요 출력하는 함수를 정의하고 사용해 보세요.
// 함수 정의
function hello() {
  console.log("안녕하세요");
}
// 함수 사용(호출)
hello();
// 코드 재사용(코딩 라인이 짧아짐)
hello();
hello();

 

// 예제 1) "hello world" 출력하는 함수를 작성하고 함수를 사용(호출)하세요.
// 입력 : 없음
// 출력 : hello world
// 단 함수를 정의해서 출력하세요

 

// 함수 정의
function hello_1() {
  console.log("hello world");
}
// TODO 함수 사용(호출), 무조건 hello world 고정됨
hello_1();
// TODO 만약 hello world2 출력하고 싶으면?
// 기존에 동작하던 소스가 오류가 발생할 가능성이 커짐(소스 수정 지양)
function hello_1_1() {
  console.log("hello world2");
}
// TODO 추가로 함수를 만들어야하는 번거러움이 있다.(에러 발생 도모)
hello_1_1();

 

// TODO : 2) 함수 2nd 형태(패턴), ※1st 보다 효율적이기에 2nd 형태로 주로 사용하기!※
// 사용법 : (1) 함수 정의
//     function 함수명(매개변수, ...) {
//        실행문 = 실행문 + 매개변수; // 실행문에서 매개변수 활용
//     }

 

// 함수정의
function hello_2(params) {
  console.log(params); // 매개변수를 실행문에 활용, console.log("params")
}
//함수 사용(호출)
hello_2("안녕하세요"); // 매개변수에 값을 넣으면서 사용함(params = "안녕하세요")
hello_2("반갑습니다. 좋은 아침입니다"); // 매개변수에 값을 넣게 되면 1st처럼 번거롭게 함수를 안 넣어도 된다.

 

// TODO : 3) 함수 3rd 형태(패턴)
// 변수의 허용범위(스코프) : 항상 중괄호 안에서만 의미가 있음
// 사용법 : (1) 함수 정의
//     function 함수명(매개변수, ...) {
//          let 결과 = 실행문(매개변수);
//          return 결과; // 결과 내보내기(함수 밖으로 값을 내보냄)
//     }
//     (2) 함수 사용(호출)
//   let 변수 = 함수명(매개변수);
// 예제 3) 매개변수와 return 이 있는 함수를 정의해서 hello world 출력하세요.
// 함수 정의
function hello_3(params) {
  return params + " world"; // params + " world" : 결과 내보내기 됨
}
// 함수 사용(호출)
// "hello world" 결과가 나와서 result 변수에 저장됨
let result_3 = hello_3("hello");
console.log(result_3);

 

// 예제 4) 어떤 수를 매개변수로 받아서 제곱을 구하는 함수를 작성하세요.
// 입력 : 없음
// 출력 : 9
// 함수 호출 : f(3)
// 함수 3rd 형태 적용

 

function intput_4(num) {
  // 제곱 : num * num;
  // return : 함수 밖으로 결과 내보내기 예약어
  return num * num; // 제곱 결과 내보내기(밖으로)
}
let result_4 = intput_4(3); // f(3) 결과가 result_4 변수에 저정됨
console.log(result_4);

 

// 예제 5) 원의 넓이 구하기 함수를 작성하세요.
// 원의 넓이 공식 : 반지름 * 반지름 * 3.14
// 입력 : 5
// 출력 : 78.5
// 단, 함수 작성해서 결과 를 출력하세요

 

let intput_5 = Number(prompt("5번문제 : " + "5 입력"));

 

function num_5(num) {
  return num * num * 3.14;
}
let output_5_result = num_5(intput_5);
console.log(output_5_result);

 

// 예제 6) 원의 둘레 구하기 함수를 작성하세요.
// 원의 둘레 공식 : 반지름 * 2 * 3.14
// 입력 : 6
// 출력 : 37.68

 

let intput_6 = Number(prompt("6번문제 : " + "6 입력"));

 

function num_6(num) {
  return num * 2 * 3.14;
}
let output_6_result = num_6(intput_6);
console.log(output_6_result);

 

// 예제 7) 시작수 , 끝수가 주어지면 시작수~끝수까지의 합계를
//     구하는 함수를 작성하세요.
// 입력 1: 100
// 입력 2: 300
// 결과 :  40200

 

function sum(intput_7, intput_7_1) {
  let sumVal = 0; // 누적합 변수 초기화
  for (let i = intput_7; i <= intput_7_1; i++) {
    // 누적합
    sumVal = sumVal + i;
  }
  return sumVal; // 함수 밖으로 결과 내보내기
}

 

let intput_7 = Number(prompt("100 입력"));
let intput_7_1 = Number(prompt("300 입력"));

 

// 함수 사용(호출) : 3rd 형태
// let 변수명 = 함수명(값);
let output_7_result = sum(intput_7, intput_7_1);
// 결과 출력
console.log(output_7_result);

 

객체의 속성  사용하기
객체 사용법 사용법 : 
et 변수명 = {   
속성: 값,   속성2: 값2, 
...}
더보기
// 객체 : 실생활에서 보이는 모든 것을 객체라고 함
//    예) 사람, 사물 등
// 객체의 요소 : 1) 속성(특징나타냄, 90%), 2) 함수(행동, 동작)
// 비교) css 사용법
// 선택자 {
//    속성: 값;
//    속성2: 값2;
//    ...
// }
 
// TODO): 객체 사용법(작성법)
// let 변수명 = {
//    속성: 값,
//    속성2: 값2,
//    ...
// }
 
// 예제 ) 안지영 이라는 사람의 속성(특징)을 나열하고 객체를 만드세요.
// 객체 정의
let member = {
    name: "안지영",
    email: "hong@naver.com",
    phone: "010-1234-5678",
    age: 24,
    job: true
}
// 객체 속성 출력
// 사용법 : 객체명.속성명 => 값이 출력됨
console.log("name" , member.name);
console.log("email" , member.email);
console.log("phone" , member.phone);
console.log("age" , member.age);
console.log("job" , member.job);
 
// 연습문제 1)
//  객체 정의 하고 객체 출력하기
// 고양이에 대한 특징을 alert 을 이용해서 화면에 출력하세요
// 속성 :
//     이름: 나비
//     색깔: 황토색
//     무게: 10kg
//  코드번호: 1234
//  전화번호: 010-1234-5678
// 객체 정의
// let cat = {
//     name: "나비",
//     color: "황토색",
//     weight: "10kg",
//     code: 1234,
//     phone: "010-1234-5678"
// }
// // 객체 속성 출력
// // 사용법 : 객체명.속성
// console.log("name", cat.name);
// console.log("color", cat.color);
// console.log("weight", cat.weight);
// console.log("code", cat.code);
// console.log("phone", cat.phone);
 
// 연습문제 2)
// 토끼 객체를 만들어서 화면에 출력해 보세요
// 속성 :
//    이름 : 삼식이
//    색깔 : 갈색
//    무게 : 5kg
//  코드번호: 1234
// 객체 정의
// let rabbit = {
//     name:"삼식이",
//     color: "갈색",
//     weight: "5kg",
//     code: 1234     // 자료형 모두 사용가능(문자열, 숫자, 참/거짓 등)
// }
// // 객체 속성 출력
// // 사용법 : 객체명.속성명
// console.log("name", rabbit.name);
// console.log("color", rabbit.color);
// console.log("weight", rabbit.weight);
// console.log("code", rabbit.code);
 
// 자료형 : 문자열(string), 숫자(number), 참/거짓(bool/boolean)
//         배열(객체), null, undefined, 참고)Symbol(1%)
// 총 6개
// TODO: null 자료형 : 변수는 있으나 공간이 비어 있는 것(js, 자바, c/c++ 등)
// 예제) 변수에 null 넣기
let char1 = null; // 사용법, 과거코딩(변수 초기화 많이 사용)
// 현재는 null 초기화 권장하지 않음(버그가 많이 발생함)
let char2 = ""; // 빈문자열 초기화
let num = 0; // 숫자 초기화
 
// 메모리 : 프로그램 실행시키면 -> 컴퓨터 메모리에 올라감
// TODO: undefined 자료형 : (js 만 있음 , 다른 언어는 없음)
//     : 객체의 속성명이 정의되지 않은것(않은 상태)
// 객체 정의
let dog = {
    name: "삼순이",
    age: 2
}
console.log("name", dog.name);
console.log("age", dog.age);
// undefined 에러가 발생함
console.log("code", dog.code); // code 속성 정의되지 않았음

03_exam_1
함수 연습 문제 풀기
더보기
// 함수 문제 풀이
// TODO 연습문제 1
// 함수를 사용해서 출력하세요
// 입력 : 10
// 출력 : 20
 
// 함수 정의
function sum_1(num) {
  console.log(num + 10);
}
// 합수 사용(호출)
let input_1 = Number(prompt("10 입력"));
sum_1(input_1);
 
// TODO 연습문제 2
// 함수를 사용해서 출력하세요.
// 짝수이면 "even" 출력하고, 홀수이면 "odd" 출력하세요.
// 입력 : 2
// 출력 : even
 
// 함수 정의
function name(params) {
  // params 가 짝수이면
  if (params % 2 == 0) {
    console.log("even");
  } else {
    console.log("odd");
  }
}
// 함수 사용(호출)
// 사용법 : 함수명(값);
// let num2 = Number(prompt("숫자"));
// name(num2);
 
// TODO 연습문제 3
// 함수를 이용해서 아래를 작성하세요.
// 1 ~ 10 까지의 합을 출력하세요.
// 입력 : 10
// 출력 : 55
// 함수 정의 : 2nd 함수 형태(return 없음)
 
// 함수 정의
let result_3 = 0;
function input_3() {
  for (let i = 1; i <= num_3; i++) result_3 = result_3 + i;
}
// 함수 호출
let num_3 = Number(prompt("10 입력"));
input_3(num_3);
console.log(result_3);
 
// TODO 연습문제 4
// 함수로 만들어서 풀기(1st, 2nd, 3rd 아무거나)
// 입력 1: 1
// 입력 2: 2
// 입력 3: 3
// 출력 : 1
// 최소값 구하기
 
// 함수 정의
function input_4(input_4_1, input_4_2, input_4_3) {
  // 최소값 구하는 코딩
  console.log(Math.min(input_4_1, input_4_2, input_4_3));
}
// 함수 사용(호출)
let num4_1 = Number(prompt("1 입력")); // 1
let num4_2 = Number(prompt("2 입력")); // 2
let num4_3 = Number(prompt("3 입력")); // 3
 
input_4(num4_1, num4_2, num4_3); //  함수 사용
 
// TODO 연습문제 5
// 함수로 만들어서 풀기(1st, 2nd, 3rd 아무거나)
// 5의 배수이면 "5의 배수이다" 출력하고,
// 아니면 "5의 배수가 아니다" 라고 출력하세요.
// 입력 : 5
// 출력 : 5의 배수이다.
// 입력값 : 5
 
// 함수 정의
function input_5(input_5_1) {
  if (input_5_1 % 5 == 0) {
    console.log("5의 배수이다.");
  } else {
    console.log("5의 배수가 아니다.");
  }
}
// 함수 사용(호출)
let num_5 = Number(prompt("5 입력"));
input_5(num_5);
 
// TODO 연습문제 6
// 함수를 이용해서 코딩하세요
// 3가지 숫자를 입력받아 합계와 평균 구하기
// 입력 : 80
// 입력2 : 90
// 입력3 : 100
// 결과 : 270
//        90
 
// 함수 정의
function input_6(num6_1, num6_2, num6_3) {
  // 함수안에서 문제를 푸는 코딩을 하면됨
  // 합계
  let sum_6 = num6_1 + num6_2 + num6_3;
  // 평균
  let avg_6 = sum_6 / 3;
  // 출력
  console.log("합계: " + sum_6 + "\n" + "평균 : " + avg_6);
}
 
// 함수 사용(호출)
let input_num6_1 = Number(prompt("80 입력"));
let input_num6_2 = Number(prompt("90 입력"));
let input_num6_3 = Number(prompt("100 입력"));
 
input_6(input_num6_1, input_num6_2, input_num6_3);

'Visual Studio Code' 카테고리의 다른 글

[WINDOW] chapter_01  (0) 2023.08.23
[DOM] chapter_01  (0) 2023.08.21
[JavaScript] chapter_01  (0) 2023.08.16
[HTML&CSS] chapter_04  (0) 2023.08.09
[HTML&CSS] chapter_03  (0) 2023.08.09