💻
javascript
  • 자바스크립트 시작하기
  • 자바스크립트 기초 문법
  • 변수
  • 배열
  • 객체
  • 연산자
  • 조건문
    • if문
    • if ~else문
    • 다중 if문
    • 중첩 if문
    • switch문
    • 삼항 연산자
  • 반복문
    • while문
    • do while문
    • for문
    • 중첩 for문
    • break문
    • continue문
  • 함수
    • 선언적 함수
    • 익명함수
    • 매개변수가 있는 함수
    • arguments 함수
    • 리턴값이 있는 함수
    • 재귀함수
    • 콜백함수
    • 내부함수(스코프)
    • 객체 생성자 함수
    • 프로토타입 함수
    • 화살표 함수
    • 클래스
    • Promise
    • 템플릿 리터럴
  • 내장객체
    • String 객체
      • split()
      • join()
    • Number 객체
    • Date 객체
    • Array 객체
    • Math 객체
    • 정규표현 객체
  • 브라우저 객체
    • window 객체
    • navigator 객체
    • screen 객체
    • history 객체
    • location 객체
  • 문서객체
  • 이벤트
Powered by GitBook
On this page

Was this helpful?

  1. 함수

객체 생성자 함수

내장 객체를 생성할 때는 이미 자바스크립트 엔진에 내장되어 있는 객체 생성자 함수를 사용하여 객체를 생성합니다.

객체 생성자 함수

function함수명(매개변수1, 매개변수2,....){ this.속성명 = 새 값; this.함수명 = function( ){ 자바스크립트 실행코드; } } let 참조 변수(인스턴스 네임) = new 함수명( ); //객체생성 let 참조변수 = {속성 : 새 값. 함수명 : function( ){....}}

function obj5(a, b){
    this.a = a;
    this.b = b;
    this.c = function(){
        return a * b;
    }
}

let result1 = new obj5(100, 200);
let result2 = new obj5("자바스크립트", "실행했습니다.");

document.write(result1.a);
document.write(result1.b);
document.write(result1.c());
document.write(result2.a);
document.write(result2.b);
function CheckWeight(name, height, weight){
    this.userName = name;
    this.userHeight = height;
    this.userweight = weight;
    this.minWeight;
    this.maxWeight;
    this.getInfo = function(){
        let str = "";
        str += "이름: " + this.userName + ", ";
        str += "키: " + this.userHeight + ", ";
        str += "몸무게: " + this.userweight + ", ";
        return str;
    }
    this.getResult = function(){
        this.minWeight = (this.userHeight - 100) * 0.9 - 5;
        this.maxWeight = (this.userHeight - 100) * 0.9 + 5;

        if(this.userweight > this.minWeight && this.userweight <= this.maxWeight){
            return "정상 몸무게 입니다.";
        } else if (this.userweight < this.minWeight){
            return "정상 몸무게보다 미달입니다.";
        } else {
            return "정상 몸무게보다 초과입니다.";
        }
    }
    
}

let hong = new CheckWeight("고부기", 175, 90);
let young = new CheckWeight("거부기", 185, 85);
console.log(hong);

document.write(hong.getInfo());
document.write(hong.getResult());

//이름: 고부기, 키: 175, 몸무게: 90, 정상 몸무게보다 초과입니다.
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>jquery12</title>
    <script>
        //"내 이름은 웹쓰이며, 직업은 웹 퍼블리셔입니다."
        //"내 이름은 도하은이며, 내일 자기소개 할겁니다."
        document.write("내 이름은 웹쓰이며, 직업은 웹 퍼블리셔입니다.<br>");
        document.write("내 이름은 도하은이며, 내일 자기소개 할겁니다.<br><br>");

        //매개변수가 있는 함수로 출력
        function func1(name, job){
            document.write("내 이름은 " + name +"이며, 직업은 " + job + "입니다.<br>");
        }
        func1("웹쓰", "웹 퍼블리셔");
        func1("도하은", "자기소개");

        document.write("<br>")

        //변수를 선언하고 함수로 출력
        function func2(name, job){
            document.write("내 이름은 " + name +"이며, 직업은 " + job + "입니다.<br>");
        }
        let youName1 = "웹쓰";
        let youJob1 = "웹 퍼블리셔";
        let youName2 = "도하은";
        let youJob2 = "자기소개";

        func2(youName1, youJob1);
        func2(youName2, youJob2);

        document.write("<br>")

        //객체를 선언하고 함수로 출력
        function func3(name, job){
            document.write("내 이름은 " + name +"이며, 직업은 " + job + "입니다.<br>");
        }

        const you = [
            {
                name: "웹쓰",
                job: "웹 퍼블리셔"
            }, 
            {
                name: "웹스토리보이",
                job: "프론트엔드 개발자"
            }];

        func3(you[0].name, you[0].job);
        func3(you[1].name, you[1].job);

        document.write("<br>")


        //객체 + 메서드
        const you2 = {
            name1: "웹쓰",
            job1: "웹 퍼블리셔",
            name2: "웹스토리보이",
            job2: "프론트엔드 개발자",
            study1 : function(){
                document.write("내 이름은 " + this.name1 +"이며, 직업은 " + this.job1 + "입니다.<br>");
            },
            study2 : function(){
                document.write("내 이름은 " + this.name2 +"이며, 직업은 " + this.job2 + "입니다.<br>");
            }
        }

        you2.study1();
        you2.study2();

        document.write("<br>")

        //객체 생성자 함수(함수 + 인스터스 객체(매개변수))
        function You3(name, job){
            this.name = name;
            this.job = job;
            this.study = function(){
                document.write("내 이름은 " + this.name +"이며, 직업은 " + this.job + "입니다.<br>");
            }
        }
        let char1 = new You3("웹쓰", "웹 퍼블리셔"); 
        let char2 = new You3("웹스토리보이", "프론트앤드 개발자"); 

        char1.study();
        char2.study();

        document.write("<br>")

        //프로토타입 메서드
        function You4(name, job){
            this.name = name;
            this.job = job;
        }
        You4.prototype.study = function(){
            document.write("내 이름은 " + this.name +"이며, 직업은 " + this.job + "입니다.<br>");
        }

        let char3 = new You4("웹쓰", "웹 퍼블리셔"); 
        let char4 = new You4("웹스토리보이", "프론트앤드 개발자"); 

        char3.study();
        char4.study();

        document.write("<br>")

        //객체 리터럴
        function You5(name, job){
            this.name = name;
            this.job = job;
        }
        You5.prototype = {
            study1 : function(){
                document.write("내 이름은 " + this.name +"이며, 직업은 " + this.job + "입니다.<br>");
            },
            study2 : function(){
                document.write("내 이름은 " + this.name +"이며, 직업은 " + this.job + "입니다.<br>");
            }
        }
        let char5 = new You5("웹쓰", "웹 퍼블리셔"); 
        let char6 = new You5("웹스토리보이", "프론트앤드 개발자"); 

        char5.study1();
        char6.study2();

    </script>
</head>
<body>
    
</body>
</html>

Previous내부함수(스코프)Next프로토타입 함수

Last updated 4 years ago

Was this helpful?