객체 생성자/객체 리터럴:
디자인 패턴은 제쳐두고 가장 기본적인 방법을 사용합니다. 즉, 먼저 객체 생성자를 호출하여 객체를 생성한 다음 객체에 속성을 추가하는 것입니다.
var student = new Object(); student.name = "xiao ming"; student.age = 20; student.getName = function () { alert(this.name); }
익숙함 javascript 객체 리터럴 학생들은 더 나은 쓰기 방식으로 변경할 수 있으며, 이는 최소한 더 간결해 보입니다.
var student = { name: "xiao hong", age: 18, getName: function () { alert(this.name); } };
단점: 위 방법의 단점은 동일한 인터페이스를 사용하여 유사한 개체를 많이 만들 때 중복 코드가 많이 생성된다는 것입니다. 이는 이해하기 쉬울 것입니다. 함수(메서드 또는 클래스)는 일반적으로 공용 메서드를 만드는 데 사용됩니다. 위의 객체 생성 프로세스에는 함수의 그림자가 전혀 없으므로 재사용이 없습니다.
사용자 정의 유형 생성자:
생성자는 특정 유형의 개체를 만드는 데 사용할 수 있습니다.
function Student(name,age) { this.name = name; this.age = age; this.sayName = function () { alert(this.name); } } var p3 = new Student("ming", 20); var p4 = new Student("hong", 18); alert(p3 instanceof Student); alert(p3.sayName==p4.sayName); //false
단점: 사용자 정의 생성자의 단점은 각 개체가 자체 메서드를 다시 생성한다는 것입니다. 실제로 이러한 메서드의 기능은 동일하지만(sayName과 같이) 동일하지 않습니다(p3.sayName 및 p4.sayName). 같지 않음).
생성자와 프로토타입의 조합:
function Student(name, age, friends) { this.name = name; this.age = age; this.friends = friends; } Student.prototype = { constructor: Student, sayName: function () { alert(this.name); } };
요약: 생성자와 프로토타입의 조합은 사용자 정의 유형을 생성하는 데 널리 알려진 방법입니다. 위의 방법들 중에서 가장 좋은 방법이기도 합니다.
위 내용은 Javascript에서 사용자 정의 객체를 생성하는 여러 방법의 예 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!