English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
원형JavaScript 객체가 특성을 상속받는 메커니즘입니다.
이전 장에서 우리는 어떻게 사용할 수 있는지 배웠습니다구조 함수:
function User(fname, lname, age, loc) { this.firstName = fname; this.lastName = lname; this.age = age; this.location = loc; } var Seagull = new User("Seagull", "Anna", 22, "New Delhi"); var tarush = new User("Tarush", "Balodhi", 34, "Bihar");테스트를 보세요‹/›
우리는 또한 알게 되었습니다할 수 없습니다새로운 속성을 기존의 객체 구조 함수에 추가하십시오:
User.weapon = "Sword";테스트를 보세요‹/›
구조 함수에 새로운 속성을 추가하려면, 그것을 구조 함수에 추가해야 합니다:
function User(fname, lname, age, loc) { this.firstName = fname; this.lastName = lname; this.age = age; this.location = loc; this.weapon = "Sword"; }테스트를 보세요‹/›
때로는 나중에 모든 객체(예제) 간에 공유될 생성자 함수에 새 속성과 메서드를 추가하고 싶을 때가 있습니다. 답은 객체입니다원형。
prototype 속성은 생성자 함수에 속성과 메서드를 추가할 수 있게 합니다.
이 예제에서 prototype 속성은 User 객체 생성자 함수에 새 속성을 추가할 수 있도록 합니다:
function User(fname, lname, age, loc) { this.firstName = fname; this.lastName = lname; this.age = age; this.location = loc; } User.prototype.weapon = "Sword";테스트를 보세요‹/›
이 예제에서 prototype 속성은 User 객체 생성자 함수에 새 메서드를 추가할 수 있도록 합니다:
function User(fname, lname, age, loc) { this.firstName = fname; this.lastName = lname; this.age = age; this.location = loc; } User.prototype.fullName = function() { return this.firstName + " " + this.lastName; };테스트를 보세요‹/›
주의:원형을 수정하지 마세요. 표준(내장) JavaScript 객체의 원형을 수정하지 마세요.