1) Javascript 설계 모드: Module 모드

4481 단어

가장 간단한 객체 작성 방법


function User(name) {
    this.name = name || ''
}

User.prototype.say = function() {
    console.log('Hi, My name is ' + this.name);
}

var u = new User('tom')

단점: 이 방법은 개인 구성원 변수의 숨김을 실현할 수 없습니다


개인 모드

var User = (function() {
    var sayCount = 0;
    var _say = function() {
        sayCount ++;
    }
    
    return {
        say: function() {
            _say()
            console.log('')
        }
    }
})();
var User = (function() {
    var sayCount = 0;
    var _say = function() {
        sayCount ++;
    }
    
    return {
        say: function() {
            _say()
            console.log('')
        },

        run: function() {
            //  say ?
            // this.say();  , this context window 。
            //  , say , User.say()

            //  bug, , 
        }
    }
})();
// Revealing Module
var User = (function() {
    var sayCount = 0;
    var _say = function() {
        sayCount ++;
    }
    
    function publicSay() {
      _say()
      console.log('')
      publicRun()
    }

    function publicRun() {
    
    }
    
    return {
        say: publicSay,
        run: publicRun
    }
})();

좋은 웹페이지 즐겨찾기