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 비디오 튜토리얼을 방문하세요!