혁신을 이룹니다, 오딘박스(OdinBOX)

언제나 어디서나 오딘박스와 함께!

19-09-26,클라이언트 사이드 프로그래밍

간지뽕빨리턴님 2019. 11. 24. 20:36
반응형
  클라이언트사이드

<!DOCTYPE html>
<html lang="kor" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
 <h1>2반 </h1>
  </body>
  <script type="text/javascript">

  let a = [1,4,7,11,19,50,70,77];
  let odd = [];
  let even = [];
  let i = 0; // let item;


  while(i < a.length){  // (a.length) 배열 A에 원소가 1개 이상 있으면 0이면 거짓
// item = a.shift();
// if (item%2>0)
// odd.push(item);
// else {
//   even.push(item);
// }
// Ctrl + D
// console.log(`a = [$(a)]`);
// console.log(`even = [$(even)]`);
// console.log(`odd = [$(odd)]`);


    if(a[i]%2 == 0){
      odd.push(a[i]);
      a.shift(a[i]);
    }
    else{
      even.push(a[i]);
      a.shift(a[i]);
    }
  }

  console.log("짝수 :" + odd + "홀수 : " + even + "a에는 [" + a + "]개")

  </script>
</html>

 

함수

를 사용하지 않으면?

main()이 너무 길고 복잡해져 소스코드를 이해하기 힘듬

같은 기능의 코드도 필요할 때마다 매번 반복 입력해야 함

기존 코드의 일부를 재활용하려면 방대한 양의 main에서 찾아내야함

소스 코드의 양에 비례하여 변수도 늘어나 중복을 피해 변수명 정하는것도 번거로움

 

생성 방법

선언적 함수

function 함수명() {필요한 식} [전통적(일반적)인 함수]

function doubleX(n) {return 2*n)

함수명 : doubleX 함수명(식별자)작성 규칙 관례 참조

매개변수 (n) 식별자 이름만 결정

함수본문{} 실행 후결과를 반환

function 함수.toString() - > `내용

 

 

익명 함수

let 변수명 = function() {} <<JS가장중요한특징

-함수명이 생략된 함수 정의 자체를 변수에 저장

예) let doubleX = function(x) = { return 2*x;};

 

switch 문 활용하기

 


<html lang="kor" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
          <h1>Clint Side Programming-2반</h1>
          <h2>함수 dayOfMonth(month)</h2>
  </body>
  <script type = "text/javascript">
    //1에서 12사이의 월(month) 값을 입력 받아 해당되는 날 수를 리턴(윤년 없음)
    let daysOfMonth = function(month) {
      switch(month) {
      default:
        return 31;
  //      break; // 끝날때 하는게 좋음 위에 그 리턴있어서 안써두됨.

        case 2:
        return 28;
        case 4:
        case 6:
        case 9:
        case 11:
        return 30;
      }
    }
    console.log("1월은" + daysOfMonth(1) + "일 입니다.");
    console.log("2월은" + daysOfMonth(2) + "일 입니다.");
    console.log("4월은" + daysOfMonth(4) + "일 입니다.");

 

  </script>
</html>

 

<!DOCTYPE html>
<html lang="kor" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
          <h1>Clint Side Programming-2반</h1>
          <h2>함수 dayOfMonth(month)</h2>
  </body>
  <script type = "text/javascript">

    let sayhello = function(name) {
      return name + "씨 반갑습니다.";

      // 인사말을 만들어 리턴하기.
    }
    // 안녕하세요 저는 홍길동이고 20세 입니다.
    let selfIntro = function(name, age) {
      return "안녕하세요 저는 " + name + age + "살입니다.";
    }

          console.log(selfIntro("최영환",20));

 


  </script>
</html>

 

 

선언적 함수가 조금 더 편하지만, 함수정의자체를 변수에 저장할수있음

함수 정의 전체가 변수에 통으로 저장될 수있다<<<<<<<<<<<<<<<<<<<<<<<<<<<이거이거

 

 

화살표 함수