Javascript를 사용하여 클래스와 객체를 생성하는 방법에는 여러 가지가 있습니다. 이제 나열해 보겠습니다. 1. 원래 생성 방법, 2. 팩토리 메서드 패턴, 3. 구성 방법 패턴, 4. 동적 프로토타입 방법. 아래 예제를 자세히 살펴보겠습니다
이제 Javascript에서 클래스와 객체를 생성하는 몇 가지 방법을 요약합니다:
1. 원래 생성 방법:
<script type="text/javascript"> var person = new Object(); person.name="Amy"; person.sex="Woman"; person.show=function(){ document.write("name is: "+this.name+" ; sex is:"+this.sex); } person.show(); </script>
원래 생성 방법은 객체 지향에 익숙한 사람들을 위한 것입니다. 저는 항상 속성과 메서드의 캡슐화가 그다지 촘촘하지 않다고 생각합니다. 이 캡슐화는 "객체 이름" + "." 형식으로 이루어집니다. 즉, 속성과 메서드 뒤에 객체 이름이 따른다는 의미입니다. 이 개체(예: 사람)는 캡슐화된 결과입니다. 예를 들어 age 속성을 추가하면 사람이 생성됩니다. Java프로그래밍에 익숙하신 분들은 불편함을 느끼실 겁니다. 원래 생성 메서드를 추가로 "캡슐화"할 수 있습니다. 다음 단계를 참조하세요.
2. 팩토리 메서드 패턴:<script type="text/javascript"> function personFactory(name,age,sex){ var ob=new Object(); ob.name=name; ob.age=age; ob.sex=sex; ob.show=function(){ document.write(ob.name+" "+ob.age+" "+ob.sex); } return ob; } var person=personFactory("Amy",21,"Woman"); person.show(); </script>
referencevariable에 대해 사람은 생성된 개체를 참조할 수 있지만 아직 완벽하지는 않습니다. 매번 개체를 만들고 이 개체를 사용하여 show() 메서드, 새로운 show() 함수를 호출합니다. 동일한 show 메소드를 호출할 수 있습니다. 최적화 방법은 다음과 같이 show를 공장 외부에 두는 것입니다.
<script type="text/javascript"> function show(){ document.write(this.name+" "+this.age+" "+this.sex); } function personFactory(name,age,sex){ var ob=new Object(); ob.name=name; ob.age=age; ob.sex=sex; ob.show=show; return ob; } var person=personFactory("Amy",22,"Woman"); person.show(); </script>
<script type="text/javascript"> function person(name,age,sex){ this.name=name; this.age=age; this.sex=sex; this.show=function(){ document.write(this.name+" "+this.age+" "+this.sex); document.write("<br>"); } } var per=new person("Amy",22,"Woman"); per.show(); </script>
static 메소드와 마찬가지로 모든 객체는 동일한 정적 메소드를 사용하며 대답은 '예'입니다. 다음 단계를 참조하세요:
4. 동적 프로토타입 방법:<script type="text/javascript"> function Person(name,age,sex){ this.name=name; this.age=age; this.sex=sex; if(typeof Person.tag == "undefined"){ Person.prototype.show=function(){ document.write(this.name+" "+this.age+" "+this.sex); document.write("<br>"); } Person.tag=true; } } var per=new Person("Peter",22,"Man"); per.show(); </script>
를 사용하여 객체를 만들 때 Person 함수 블록의 ifjudgment 문이 실행됩니다. 물론 처음에는 태그 변수가 정의되어 있지 않으므로 if 문 블록에 있는 내용이 실행됩니다.
Person.prototype.show=function(){ document.write(this.name+" "+this.age+" "+this.sex); document.write("<br>"); }
위 내용은 Javascript의 클래스 생성 및 객체에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!