생성자 함수가 자체 _proto_ 속성이 있고 생성자 함수에 'prototype'속성을 제공하는 javascript에서 새 객체를 만들 때 인스턴스화 될 수 있음을 알게되었습니다.javascript : constructor function vs single use 용 공개 모듈 패턴
다음function MyController() {
var controllerName = 'initialcontroller';
function init() {
console.log(controllerName);
}
this.init = init;
}
, 초기화는 다음과 같이 호출 할 수 있습니다
var mycontroller = new MyController();
mycontroller.init();
가 난 단지 한 번만 결코 다시 인스턴스화하고 가정하면,되어 있지이 잔인한 나는 모든을 사용하지 않는 경우 MyController.prototype에서 제공하는 프로토 타입 속성?
질문 : 대신 공개 모듈 패턴을 사용하여 이렇게 코딩 할 수 있습니까?
다음var myController = function() {
var controllerName = 'initialcontroller';
function init() {
console.log(controllerName);
}
return {
init : init
}
}();
는, 초기화는 다음과 같이 호출 할 수 있습니다 :이 경우
myController.init();
, 내가 존재하지 않는 MYCONTROLLER 내부의 속성에 액세스하려고하면, 자바 스크립트 엔진을 찾기 위해 시도하지 않습니다 속성이 프로토 타입 체인의 어느 위치에 있든 상관 없으므로 시간을 절약 할 수 있습니다.
또는 내가 간과하는 기능을 인스턴스화하는 데 다른 장점이 있습니까?
예, 노출 모듈 패턴을 사용하여 이렇게 코드를 작성할 수 있습니다. 그것은 완벽하게 유효합니다. 또한 코드가 짧습니다. – Cerbrus