💻
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. 함수

프로토타입 함수

프로토타입(Prototype)의 사전적 의미는 '원형'입니다. 자바스크립트에서 '원형'은 객체 생성자 함수를 의미합니다. 프로토타입을 사용하여 등록한 함수는 원형(객체 생성자 함수)에서 생성된 객체를 공유할 수 있습니다. 즉, 여러개의 함수를 등록할 필요가 없습니다.

프로토타입 함수

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

function CheckWeight(name, height, weight){
    this.userName = name;
    this.userHeight = height;
    this.userWeight = weight;
    this.minWeight;            
    this.maxWeight;            
}
CheckWeight.prototype.getInfo = function(){
    let str = "";
    str += "이름: " + this.userName + ", ";
    str += "키: " + this.userHeight + ", ";
    str += "몸무게: " + this.userWeight + "<br>";
    return str;
}
CheckWeight.prototype.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", "80");
document.write(hong.getInfo());
document.write(hong.getResult());
Previous객체 생성자 함수Next화살표 함수

Last updated 4 years ago

Was this helpful?