드러내는 모듈 패턴 자바 스크립트는 변수에 액세스 할 수 없습니다
-
23-12-2019 - |
문제
JavaScript에서 공개 모듈 패턴을 구현하고 다른 스크립트에서 선언 된 변수에 액세스하는 데 어려움이 있습니다.아래는 내 코드입니다.
script1 :
var SomeEventHandler = (function (){
var logSomeEvent = function(){...}
return {
trackEvent: logSomeEvent;
};
})();
.
script2 :
SomeEventHandler.trackEvent(); // This gives me undefined error.
.
HTML에서는 스크립트 2 이전에 스크립트 1을 추가 했으므로 스크립트 2에서 someeventhandler에 어떻게 액세스 할 수 있는지 알고 싶었습니다.
해결책
나는 당신이 당신의 객체 표기법에 세미콜론을 가지고 있다는 것을 알아 차렸다.다중 키 : 객체 표기법으로 작성된 객체의 값 속성은 세미콜론이 아닌 쉼표로 구분됩니다.또한 하나의 요소 만 있으면 세퍼레이터가 필요하지 않습니다.나는 세미콜론을 제거하고 테스트에서 잘 작동합니다.
var SomeEventHandler = (function (){
var logSomeEvent = function() { console.log('Cool stuff happened!'); }
return {
trackEvent: logSomeEvent
};
}());
// ...
SomeEventHandler.trackEvent(); // Cool stuff happened!
. 제휴하지 않습니다 StackOverflow