> 웹 프론트엔드 > JS 튜토리얼 > js가 객체를 생성하는 방법과 그 특성

js가 객체를 생성하는 방법과 그 특성

不言
풀어 주다: 2018-07-17 15:10:23
원래의
1573명이 탐색했습니다.

js에서 객체를 생성하는 방법은 여러 가지가 있습니다. 각 방법에는 고유한 장점과 단점이 있으므로 객체를 생성하는 데 적합한 방법을 선택하는 것이 매우 중요합니다. 다음 내용에서는 js에서 객체를 생성하는 여러 가지 방법을 소개합니다. .

1. 팩토리 패턴

function createPerson(name){
   //1、原料
    var obj=new Object();
   //2、加工
    obj.name=name;
    obj.showName=function(){
       alert(this.name);
    }     
    //3、出场
     return obj; 
} 
var p1=createPerson('小米');
p1.showName();
로그인 후 복사

장점: 유사한 객체 생성 문제 해결

단점: 객체의 유형을 알 수 없음 #🎜 🎜#

2. 생성자

function CreatePerson(name){
  this.name=name;
  this.showName=function(){
    alert(this.name);
  }
}
    var p1=new CreatePerson('小米');
로그인 후 복사

장점: 일부 인스턴스는 특정 유형으로 표현될 수 있습니다


단점: 메서드가 이를 다시 생성합니다. 그리고 각 인스턴스에서

3. 프로토타입

function Person(){}
Person.prototype.name="小米";
Person.prototype.showName=function(){
alert(this.name);
}
var p1=new Person();
p1.showName();
로그인 후 복사

장점: 속성과 메서드가 프로토타입에 정의되므로 각 인스턴스가 속성과 메서드를 공유할 수 있습니다# 🎜🎜##🎜 🎜#

단점: 인스턴스의 속성은 비공개일 수 없습니다

4. 혼합(생성자 + 프로토타입)

function CreatePerson(name){
  this.name=name;
}
  Create.prototype.showName=function(){
    alert(this.name);
  }
    var p1=new CreatePerson('小米');
    p1.showName();
   var p2=new CreatePerson('小米');
    p2.showName();
  alert(p1.showName==p2.showName);//true;原因:都是在原型下面,在内存中只存在一份,地址相同
로그인 후 복사

생성자를 통해 속성 정의, 프로토타입 정의 메소드 및 공유 속성.

5. 리터럴

person={
  name:"小米",
  age:23
};
로그인 후 복사
관련 권장 사항:


JS 작성 예제

js 객체를 생성하는 다양한 방법에 대한 자세한 설명

위 내용은 js가 객체를 생성하는 방법과 그 특성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿