Day 30

·2023년 7월 18일
0

Global_2023_2

목록 보기
29/56
post-thumbnail

1. 리터럴 객체란?

  • 객체를 생성하는 방법 중 하나로
    객체를 생성할 때 객체의 속성과 값을 직접 지정

2.자바스크립트에서 객체 생성 방법 3가지는?

  1. object() 생성자 사용

      var person = new Object();   // person = {}; 상태
    
      person.name = "홍길동";
      person.age = 35;
    
      document.write(person+"<br>");
      
  2. 객체 리터럴 활용 방법

        var objPerson = {
            name : "홍길동",
            age : 35,
            getAge: function(){
                return this.age;
            }
        }
  1. 생성자 함수를 만드는 방법 (붕어빵 틀 만들기)

        function Airplane(name, color, speed){
            //arguments;
            //this; var Airplane(this) = {}
            this.color=color;
            this.name=name;
            this.speed=speed;
            this.fly=function(){
            return this.speed+" fly!";
            };
        }
        var plane1 = new Airplane("보라매","레드",100);
        document.write(plane1.fly());

3. 아래를 프로그래밍 하시오.

var circle = new Circle(10);
document.write(circle.getArea()); //반지름 10 넓이는 314.1516 입니다.

    function Circle(radius){
        this.radius=radius;
        this.getArea=function(){
            return "반지름 "+this.radius+" 넓이는 "+this.radius*this.radius*Math.PI;
        }
    }

4. 아래를 프로그래밍 하시오.

var 홍길동 = new Grade("홍길동",100,70,80);

document.write(홍길동.getAvg()); // 홍길동의 평균운 76.797 입니다.
document.write(홍길동.getGrade());// 홍길동의 성적운 미 입니다.

       function Grade(name,kor,eng,math){
        this.name=name;
        this.kor=kor;
        this.eng=eng;
        this.math=math;
        this.getAvg=function(){
            var avg = (this.kor+this.eng+this.math)/3.0;
            return this.name+"의 평균은 " + avg + "입니다. <br>"
        };
        this.getGrade=function(){
            var avg = (this.kor+this.eng+this.math)/3.0;
            var result = "가";
            if(avg>=90){
                result = "수";
            }
            else if(avg>=80){
                result = "우";
            }
            else if(avg>=70){
                result = "미";
            }
            else if(avg>=60){
                result = "양";
            }
            else{
                result = "가";
            }
            return name + "의 성적은 " + result + "입니다.";
        }
    }

5. 아래를 프로그래밍 하시오.

설명:1부터 10까지 출력을 하되, 1초마다 증가된 숫자를 하나씩 찍고, 10초후 프로그램 완료를 찍을것

====================================================================
1
2
3
4
5
6
7
8
9
10
프로그램 완료

var intervaild = 1;
setInterval(function() {
if (intervaild <= 10) {
    document.write(intervaild + "<br>");
    intervaild++;
} else {
    clearInterval(intervaild);
}
}, 1000);
setTimeout(function(){
document.write("프로그램 완료"+"<br>");
clearInterval(intervaild);
},10000); // 10초후에 멈춰라

1. BOM 이란? 2. DOM 이란?

특징DOM(Document Object Model)BOM(Browser Object Model)
용도HTML 문서를 객체로 표현웹 브라우저를 객체로 표현
객체HTML 요소, 속성, 이벤트윈도우, 프레임, 문서, 스크립트, 네트워크
사용 예HTML 문서를 조작, 이벤트를 처리, 스타일을 적용웹 브라우저의 창, 프레임, 문서, 스크립트, 네트워크를 관리

브랜든 아이크가 10일만에 mocha 언어 개발 (자바 보고 이름변경)


Point

  • 자바스크립트

    • eval은 보안에 취약하므로 쓰면 안된다

    • private 등을 지원하지 않는다

    • 속성의 추가와 삭제가 자유롭다

    • in 키워드로 속성의 유무 확인

    • with로 객체 접근 간소화

    • 함수 문법은 =, 객체 문법은 :

    • 함수에서도 기본적으로 this를 쓸수 있음 =
      자바스크립트에서는 함수가 객체이기 때문에

    • 함수가 만들어질때 -> 객체로 만들기 위해서
      2가지(this,arguments)를 심어줌

    • onload는 웹문서가 모두 완료 된 후에 마지막에 실행됨

  • 역사 및 배경지식

    • ES5(2009)까지 빛을 못보다가 ES6(2015)부터 프론트엔드 활용도📈

    • 인터프리트 언어: 위에서 쭉 해석 (반대는 컴파일언어 = class 생성)

    • BOM (브라우저창 전체)

      • 로케이션 : 주소 / 스크린 : 화면 줄이고 키우고 /
        네비 : 앞으로 뒤로

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

아주 유익한 내용이네요!

답글 달기