JS 디자인 모델 - 1. 표 현 력 있 는 JS

4223 단어 디자인 모드
체인 호출 을 지원 하 는 클래스 만 들 기 (구조 함수 + 원형)
Function.prototype.method = function(name, fn){

    this.prototype[name] = fn;

    return this;

};



//    +      

var Anim = function(){};

Anim.method('starts', function(){

    console.log('starts');

}).method('ends', function(){

    console.log('ends');

});



var a = new Anim(); //  new   

a.starts();

a.ends();

익명 함수 가 패키지 구조의 개인 변 수 를 만 듭 니 다.
var baz;

(function(){

    var foo = 10; //    

    var bar = 2;

    baz = function(){ //         

        return foo * bar;

    };

})();

console.log(baz());

대상 의 변화성
이것 은 별 이상 한 것 이 없 는데 원형 체인 이 어떻게 된 일 인지 알 게 되 었 다. 이것 은 말 할 나 위도 없다.(우 리 는 인 스 턴 스 를 만 든 후에 방법 과 수정 방법, 심지어 삭제 방법 을 추가 할 수 있 습 니 다).
var Person = function(name, age){

    this.name = name;

    this.age =age;

};



Person.method('getName', function(){

    return this.name;

}).method('getAge', function(){

    return this.age;

});

var alice = new Person('alice', 95);

var bill = new Person('bill', 30);



Person.method('getGreeting', function(){ //            

    return 'Hi ' + this.getName() + '!' ;

});



alice.displayGreeting = function(){

    return this.getGreeting();

};



console.log(alice.getGreeting());

console.log(bill.getGreeting());

console.log(alice.displayGreeting());

/*bill.displayGreeting();*/

좋은 웹페이지 즐겨찾기