> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 객체 지향 프로그래밍 튜토리얼

JavaScript 객체 지향 프로그래밍 튜토리얼

PHPz
풀어 주다: 2018-09-28 15:25:38
원래의
1781명이 탐색했습니다.

JavaScript에서 객체의 정의는 기본 값, 객체 또는 함수를 포함할 수 있는 순서가 지정되지 않은 속성의 모음입니다. 객체를 이름-값 쌍(키:값)의 집합인 해시 테이블로 생각할 수 있습니다. 여기서 값은 데이터 또는 함수일 수 있습니다. 각 객체는 참조 유형을 기반으로 생성됩니다.

객체 이해

이전 블로그에서 객체를 생성하는 방법에는 두 가지가 있다고 썼는데, 하나는 객체의 인스턴스를 생성하는 것입니다. , 다른 하나는 객체 인스턴스를 생성하는 것입니다. 하나는 객체 리터럴 방법인

var person = new Object();
person.sex = man;
person.name = bluce
person.age = 58;
person.sayHi() = function(){
console.log('Hello World!');
}
로그인 후 복사

을 사용하는 것이지만 더 자주는 다음 방법을 사용하는 것입니다.

var person = {
sex:man,
name:'bluce',
age:'58',
sayHi:function(){
console.log('Hello World!');
}
}
로그인 후 복사

객체 생성

객체 생성자와 객체 리터럴 메서드를 모두 사용하여 단일 객체를 생성할 수 있지만 분명한 단점이 있습니다. 동일한 인터페이스를 사용하여 여러 객체를 생성하면 중복 코드가 많이 생성됩니다. 객체를 생성하는 데 일반적으로 사용되는 방법에는 팩토리 패턴, 생성자 모델, 프로토타입 패턴이 있습니다.

여기서 궁금한 점이 있습니다. AMD 사양을 채택한 후에 작성된 단일 js 파일은 모듈 또는 "클래스"로 간주될 수 있습니다. 이제는 JavaScript의 "클래스" 개념과 다소 다릅니다. . 혼란스럽습니다. 나중에 적용 시나리오를 명확히 할 수 있기를 바랍니다.

여기서 편집자가 JavaScript 객체지향 프로그래밍 튜토리얼을 소개하겠습니다. 도움이 되길 바랍니다!

JavaScript 객체지향 디자인을 여러분에게 추가해 보겠습니다 - 팩토리 패턴

팩토리 패턴은 소프트웨어 공학 분야에서 잘 알려진 디자인 패턴입니다. 구체적인 객체 생성 프로시저에서는 함수를 사용하여 특정 인터페이스로 객체 생성에 대한 세부 정보를 캡슐화할 수 있습니다.

이 디자인 패턴은 이전에 Java의 DAO에서 사용한 적이 있는데 비교적 이해하기 쉽습니다.

function createPerson(name,age,sex){
  var obj = new Object();
  obj.name = name;
  obj.age = age;
  obj.sex = sex;
  obj.sayHi() = function(){
    console.log(this.name);
  }; //引号不要漏掉,养成好的习惯
  return obj;
}
var person1 = createPerson("bluce",58,"man");
var person2 = createPerson("john",68,"man");
로그인 후 복사

이 함수를 사용하면 수신된 매개변수를 기반으로 필요한 정보가 포함된 Person 객체를 생성할 수 있습니다. 이 함수는 횟수 제한 없이 호출할 수 있으며, 매번 3개의 속성과 1개의 메서드가 포함된 객체를 반환합니다. 팩토리 패턴은 유사한 객체를 여러 개 생성하는 문제를 해결하지만 객체 인식(객체 유형을 아는 방법) 문제는 해결하지 않습니다.

위 내용은 이 장의 전체 내용입니다. 더 많은 관련 튜토리얼을 보려면 JavaScript 비디오 튜토리얼을 방문하세요!

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