모든 게시물이이 주제와 관련되어 있지만 작동하는 솔루션을 찾을 수 없습니다. 내 코드에서 뭔가 다른 점이있을 수 있습니다.Javascript : Uncaught TypeError, 생성자가 아닙니다.
파일 1, RequestFactory.js
function requestFactory() {
this.createRequest = function (reportId) {
var request;
request = new xyzRequestManager.XyzRequest();
return request;
}
return {
RequestFactory: requestFactory
}
}
파일 2,
function() {
var xyzRequest = function() {
this.loadReport = function(report) { --some data--}
}
return {
XyzRequest: xyzRequest
}
}
그래서 전화가 파일 2에서 시작 xyzRequestManager.js
function loadData() {
var request = requestFactory.createRequest(id);
request.loadReport(report);
}
파일 3 request.js requestFactory를 호출하여 요청 객체를 만듭니다. 비슷한 방식으로 파일 1에서 호출되고 팩토리 객체를 요청하고 함수를 호출하는 파일 3에 작성된 다른 함수가 많이 있습니다.
이 같은 오류를 제공,
Uncaught TypeError: xyzRequestManager.XyzRequest is not a constructor
나는 아직도 내가 잘못 무엇이나 단서를이에 시간을 낭비하고있다. 도움이 될 것입니다.
'xyzRequest ! == XyzRequest'. – Teemu
'requestFactory' 함수는'requestFactory' 함수가 아닌'createRequest' 메소드를 전역 객체에 추가합니다. 'requestFactory.createRequest'는'undefined'입니다. 이 코드에는 많은 문제가 있습니다. 자바 스크립트는 대소 문자를 구분합니다! – undefined
표시되는'xyzRequestManager.js '가 구문 오류로 인해 실패하고 표시된 코드가 질문에서 다른 오류를 생성하기 때문에 (Vohuman의 설명 참조)이 코드는 실제 코드가 아닙니다. 실제 [mcve]를 만들고 서로의 내용을 참조 할 수 있도록 파일을로드하는 방법을 보여줍니다. –