Published 2022. 12. 20. 16:40

객체의 배열을 사용한 다량의 데이터 관리 

  객체를 배열에 담으면 반복문을 통해 객체에 접근할 수 있음 

<button onclick="test1()">실행확인</button>
    <div id="area1" class="area"></div>

    <script>
        function test1(){
            const student0 = {name:"김말똥",java:100,oracle:90,html:90,css:60};
            const student1 = {name:"홍길동",java:60,oracle:100,html:80,css:70};
            const student2 = {name:"강개순",java:70,oracle:80,html:100,css:50};
            const student3 = {name:"김말순",java:100,oracle:60,html:80,css:90};

            const students = [];  // 빈 배열을 생성 후 객체 담기 

            students.push(student0);
            students.push(student1);
            students.push(student2);
            students.push(student3);

            console.log(students);
            console.log(students[0]);
            console.log(students[0].name); //==(students[0]["name"]);

            //객체명.속성명 = 새로운값 ;

            for(let i in students){
                students[i].javascript = 100;
                students[i].getSum = function(){
                    return this.java + this.oracle + this.html + this.css + this.javascript;
                }
                students[i].getAvg = function(){
                    return this.getSum()/5;
                }
            }

            console.log(students);

            const divEl = document.getElementById("area1");
            for(let i in students){
                divEl.innerHTML += "이름 : " + students[i].name
                                 + ", 총점 : "+ students[i].getSum()
                                 + ", 평균 : "+ students[i].getAvg() + "<br>";
            }
        }
    </script>

생성자 함수 

생성자 함수 생성 후 new 키워드를 이용해서 객체를 생성할 수 있는 함수를 의미 (함수명 제시시 첫글자를 대문자로)

<script> //생성자 함수 
        function Student(name, java,oracle,html,css,javascript){
            //일반속성 정의 
            this.name = name;
            this.java = java;
            this.oracle = oracle;
            this.html= html;
            this.css = css;
            this.javascript = javascript;

            //메소드 속성 
            this.getSum = function(){
                return this.java + this.oracle + this.html + this.css+ this.javascript;
            }
            this.getAvg = function(){
                return this.getSum()/5 ;
            }
        }

    </script>

    <button onclick="test2();">실행확인</button>
    <div id="area2" class="area"></div>

    <script>
        function test2(){
            const student0 = {name:"강개순",java:100,oracle:60,html:80,css:50,javascript:50}
            const student1 = new Student("홍길동",100,70,80,90,80);
            const student2 = new Student("김말똥",80,90,100,50,70);
            
            const students = [student0,student1,student2];

            console.log(students);

            for(let i in students){
                document.getElementById("area2").innerHTML += "이름 : "+ students[i].name + "<br>" ;
                                                            
            }
        }
    </script>

Date 내장 객체 

 new Date() : 현재 시스템 날짜, 시간에 대한 정보 
 new Date(년, 월(인덱스) , 일,시, 분, 초, ms )  : 입력한 날짜를 출력

1s == 1000ms
1m == 60s == 60*1000ms/
1h == 60m == 60*60s == 60*60*100ms
1d == 24h == 24*60m == 24*60*60s == 24*60*60*1000ms

 <button onclick="test3();">실행확인</button>
    <div id="area3" class="area"></div>

    <script>
        function test3(){
            const divEl = document.querySelector("#area3");

            //2022년 12월 25일로 세팅 
            const date2 = new Date(2022,12-1,25); //월-1 (인덱스)
            // 시간까지 지정
            const date3 = new Date(2022,11,25,17,00,30)
            // 밀리세컨초까지 
            // 1s == 1000ms
            // 5s == 5000ms
            const date4 = new Date(2022,11,25,17,00,30,5000);

            divEl.innerHTML += "Date() : " + date1 + "<br>";
            divEl.innerHTML += "Date(년,월,일) : "+ date2 + "<br>"
            divEl.innerHTML += "Date(년,월,일,시,분,초) : "+ date3 + "<br>"
            divEl.innerHTML += "Date(년,월,일,시,분,초,ms) : " + date4 + "<br>"

            divEl.innerHTML += "년도 : " + date1.getFullYear() + "<br>"
            divEl.innerHTML += "월 : " +(date1.getMonth()+1) + "<br>"
            divEl.innerHTML += "일 : " + date1.getDate() + "<br>";
            divEl.innerHTML += "요일 : "+ date1.getDay()+"<br>"
            //시 : getHours() / 분 : getMinutes() / 초 : getSeconds()

            //현재 날짜부터 종강날짜(23.3.27)까지 남은 일수 
            const end = new Date(2023,3-1,27); //종강일
            const now = new Date(); //현재날짜

            divEl.innerHTML += (end-now);
            // 현재 날짜부터 종강날짜까지 몇 밀리세컨초가 남았는지 알려주고 있음 
      
            const dday = (end-now) / (24*60*60*1000); 

            alert("종강일까지 "+ Math.round(dday)+"일 남았습니다.");
         }
    </script>

>> 년도 getFullYear() / 월 getMonth() / 일 getDate() / 요일 getDay()/ 시getHours() / 분 getMinutes() / 초 getSeconds()

 

'Front > JavaScript' 카테고리의 다른 글

JavaScript 10. 이벤트  (0) 2022.12.21
JavaScript 09. Window 객체  (0) 2022.12.21
JavaScript 08. 객체_ 1  (0) 2022.12.20
JavaScript 07. 함수  (0) 2022.12.19
JavaScript 06. 배열  (0) 2022.12.19
복사했습니다!