오늘 프로젝트를 진행할 때 JavaScript 객체를 만들어야하는 상황이 발생했습니다. 따라서 외국인이 JavaScript 객체를 만드는 것에 대해 외국인이 쓴 기사를 읽은 다음 읽고 코드를 입력했습니다. 나는 그 방법이 꽤 좋다고 생각하므로 여기에서 당신과 공유 할 것입니다.
1. 함수를 사용하여 개체 생성 :
코드 사본은 다음과 같습니다.
// 객체를 정의합니다
기능 동물 (유형)
{
this.name = "";
this.type = 유형;
this.introduction = function () {
"내 이름은 다음과 같이 반환합니다."+this.name+", 나는"+this.type;
}
}
var 동물 = 새로운 동물 ( "가금류"); // 위에서 만든 객체를 인스턴스화합니다
Animal.name = "Xiaohong";
Alert (Animal.introduction ()); // 소개 기능을 호출합니다 (현재로서는 페이지가 나타납니다. 내 이름은 Xiaohong, 가금류에 속합니다);
모든 사람은이 방법에 익숙해야합니다. 그러나이 방법을 사용하면 성능 손실이 발생할 수 있습니다. 여기서는 새로운 키를 통해 객체를 인스턴스화합니다. 실제로, 새로운의 열쇠는 두 가지 일을하는 것입니다. 1. 익명 방법이 정의됩니다. 2. 전화하십시오. 이것은 다음에 소개 할 방법만큼 효율적이지 않습니다.
2. 객체 리터럴 사용 :
번역이 올바른지 모르겠습니다. 나중에 원래 주소를 알려 드리겠습니다. 관심이 있으시면 원본 텍스트를 읽을 수 있습니다.
코드 사본은 다음과 같습니다.
// 객체를 정의합니다
var book =
{
이름 : "붉은 저택의 꿈",
유형 : "문학 작품",
getauthor : function ()
{
반환 : "나는 Cao Xueqin의 아이입니다!";
}
}
alert (book.getAuthor ()); // 객체 메소드를 호출하면 페이지가 나타납니다. 저는 Cao Xueqin의 아이입니다.
book.name = "Slam Dunk"; // 객체 속성을 수정합니다
경고 (Book.Name); // 현재 페이지가 나타납니다 : 슬램 덩크
코드를 볼 때이 방법이 더 효율적인 이유를 이해해야한다고 생각합니다. 왜냐하면 JavaScript 글로벌 변수를 정의하는 것과 같습니다. 우리는 그것을 인스턴스화하지 않고 직접 사용할 수 있습니다. 그러나 그것은 이상하게 보입니다. 그런 다음 솔루션이 여기에 있습니다. 세 번째 방법을 살펴 보겠습니다.
3. 함수 사용 싱글 톤 :
싱글 톤 모드로 번역 된 것은 적절하지 않을 수 있습니다. 먼저 코드를 살펴 보겠습니다.
코드 사본은 다음과 같습니다.
// 객체를 정의합니다
var gender = 새로운 기능 ()
{
this.type = "여자";
this.speaking = function ()
{
"I am"+this.type;
}
}
Alert (gender.speaking ();) // 객체를 사용할 때 페이지가 나타납니다. 나는 소녀입니다.
이 코드를 보면 우리의 방법과 매우 유사합니까? 그러나 방법 1처럼 작동 할 수 있습니다. 방법 1 : 객체를 한 번 사용하면 객체를 한 번 만들어야합니다. 이 방법은 객체를 한 번 만들어 영구적으로 사용할 수 있습니다. 따라서이 방법은 설계 패턴의 싱글 톤 패턴과 매우 유사합니다.