공장 모드와 구조 함수

3617 단어 공장 모드
공장 모드와 구조 함수
// 

function createObject(name,age){

var box = new Object();

     box.name = name;

     box.age = age;

     box.run = function(){

        return this.name + this.age +' ..';

     }

     return box;

}



// 

var box1 = createObject('lee','100');



 

 

 // 

 

 function Box(username, age){

    this.name = username;

    this.age = age;

    this.run = function (){

        return this.name +this.age +' 2';

    };    

 }

 

 var box2 = new Box('A','1'); 

 alert(box2.run());

 

 

 var o = new Object();

  Box.call(o,'leee',100); // 

  alert(o.run());

함수를 구성하는 방법을 사용했는데 공장 모델을 사용하는 방법과 그들의 차이점은 다음과 같다.구조 함수 방법에 표시되는 생성 객체가 없습니다(new Object().2. 속성과 방법을this 대상에 직접 부여한다.3. return 문구가 없습니다.
 
함수를 구성하는 방법은 몇 가지 규범이 있다. 1.함수 이름은 실례화 구조명과 같고 대문자이며(PS: 강제적이지 않지만 이렇게 쓰면 구조 함수와 일반 함수를 구분하는 데 도움이 된다).2. 구조 함수를 통해 대상을 만들려면 new 연산자를 사용해야 한다.구조 함수를 통해 대상을 만들 수 있다면, 이 대상은 어디에서 왔습니까? newObject () 는 어디에서 실행되었습니까?다음 절차를 수행합니다.
1. 구조 함수를 사용하고 new 구조 함수 () 를 사용하면 백그라운드에서 newObject () 를 실행한다.2. 구조 함수의 작용역을 새로운 대상(즉 newObject ()에서 만든 대상)에게 주고 함수 안에 있는this는 newObject ()에서 나온 대상을 대표한다.3. 구조 함수 내의 코드를 실행한다.4. 새 객체를 반환합니다(백그라운드에서 바로 반환).
 
구조 함수는 인용 형식이고 주소에 따라 인용됩니다.그래서 안의 방법의 호출은 같지 않다.

좋은 웹페이지 즐겨찾기