W3C School의 정의에 따르면 Javascript는 클래스는 없지만 정의만 있고 선언이 없으며 직접 사용할 수 있다고 이해하면 됩니다. . 각 개체는 키-값의 조합으로 이해될 수 있습니다.
첨부된 내용은 W3C School의 설명입니다.
개체 지향 언어에 대한 요구 사항
개체 지향 언어는 다음을 수행해야 합니다. 개발자에게 네 가지 기본 기능을 제공합니다.
캡슐화 - 관련 정보(데이터 또는 메소드)를 객체에 저장하는 기능
집계 - 한 객체를 다른 객체 내에 저장하는 기능
상속 - 다른 클래스에서 파생( 또는 클래스) 클래스 속성 및 메서드의 기능
다형성 - 여러 방식으로 실행될 수 있는 함수나 메서드를 작성하는 기능
ECMAScript는 이러한 요구 사항을 지원하므로 객체 지향으로 간주될 수 있습니다.
다음은 비교적 일반적인 객체 정의입니다(다음 예는 <
var person = new Object();
person .name = "Horky";
person.age = 40;
person.job = "소프트웨어 엔지니어";
person.sayName = function(){
document.write(this .name);
}
호출 방법:
person.sayName();
document.write("
연령: "); > document.write(person.age);var person = (
이름: "Horky",
연령: 40,
직업: "Software Engineer" ,
document.write(this.name);
}
};
var person = new Object ();
person.sayName = function()
{
document.write(this.name);
}
person.age = 40;
document.write("
var person; Or var person = "Undefine";
이유는 Javascript의 기본 데이터 유형이 꽤 많기 때문입니다.
function Person(name, age, job)
{
this.name = "Mr 아무도!" ;
this.age = 0;
this.job = "말하기 어렵습니다!";
{
사례 3:
this .job = job;
사례 2:
this.age = age;
사례 1:
this.name = 이름;
break;
}
this.introduceSelf = function()
{
document.write("
var arthas = new Person("Arthas",22);
var none = new Person();
전역 함수 추가:
function object(o)
{
function F() {};
F.prototype = o ;
새로운 F() 반환;
}
그런 다음 다음 두 가지 새로운 개체를 시도해 보십시오.
var horky_alias = object(horky);
var arthas_alias = object(horky, {name:{value:"Arthas"}});
복사할 때 Horky, 두 번째 개체의 이름도 변경되었습니다.
이 작업의 핵심은 F.prototype에 있습니다. 이 모든 기능에는 프로토타입이 있습니다. 이는 객체에 대한 포인터이며 이 객체에는 플라이웨이트의 개념과 마찬가지로 모든 인스턴스에서 공유할 수 있는 속성과 메서드가 포함되어 있습니다.
다음은 상속에 대해 이야기해 보겠습니다. 간단히 말해서, JavaScript의 상속은 하위 개체가 상위 개체에 액세스할 수 있음을 의미합니다. 따라서 두 가지 핵심 사항이 있습니다. 즉, 하위 개체에는 프로토타입인 상위 개체의 인스턴스가 있어야 합니다. 따라서 일반적인 하위 개체 정의는 Out:function Boy(이름, 나이, 직업)
{
this.sex = "남자";
this.prototype = new Person(이름, 나이, 직업);
this.introduceSelf = function()
{
this.prototype.introduceSelf();
document.write("
"빌려오는 생성자"를 사용할 수도 있습니다.