객체 생성자 함수

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

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);

//10020020000자바스크립트실행했습니다.
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 hwang = new CheckWeight  ("웹쓰",170,82);
let lee = new CheckWeight  ("웹와이",190,90);

document.write(hwang.getInfo());
document.write(hwang.getResult());
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        let i = "내이름은 웹쓰이며, 직업은 웹 퍼블리셔입니다."
        let s = "내이름은 도하은이며, 내일 자기소개 할겁니다."

        document.write(i,"<br>",s);

        document.write("<br><br>");

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

        document.write("<br><br>");

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

        fun2(youName1,youJob1)
        fun2(youName2,youJob2)

        document.write("<br><br>");

        //객체를 선언을 함수로 출력

        function fun3(name,job){
            document.write("내이름은 "+name+"이며, 내직업은"+job+"입니다.<br>");
        }
        const you = [
            {
                name : "웹쓰",
                job : "웹퍼블리셔"
            },
            {
                name : "웹스토리보이",
                job: " 프론트앤드 개발자"
            }
        ];
        fun3(you[0].name, you[0].job);
        fun3(you[1].name, you[1].job);

        document.write("<br><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><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><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><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.study();
        char6.study();

        document.write("<br><br>");

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

Last updated

Was this helpful?