我試圖做一個javascript
函數調用另一個.js
文件是這樣的:的Javascript麻煩dynammicly調用另一個類在其他js文件
scriptCaller.js
function callScript(file){
var script = document.createElement('script');
script.id = file;
script.type = 'text/javascript';
script.async = true;
script.src = "script/"+file+".js";
document.getElementById('scriptSection').appendChild(script);
}
然後,我創建了一些類來通過腳本調用其他的文件:
divGenerator.js
function divGenerator(){
var self = this;
var div = document.createElement('div');
this.tag = function(){
return div;
}
/*and some other function to style the div*/
}
然後我使將要執行的主文件:
main.js
function build(){
callScript('divGenerator');
}
function main(){
var test = new divGenerator();
/*execute some function to style the div*/
document.getElementById('htmlSection').appendChild(script);
}
這三個文件將在HTML
文件將執行main函數被調用:如果我改正它應該顯示樣式的div
myPage.html
<html>
<head>
<title>myPage</title>
</head>
<script src="scriptCaller.js"></script>
<script src="main.js"></script>
<body>
<div id="htmlSection"></div>
<div id="scriptSection"></div>
</body>
</html>
<script>build();</script>
<script>main();</script>
,但我得到的是一個錯誤,說:
TypeError: divGenerator is not a constructor[Learn More]
但是,當我將divGenerator()
類移動到myPage.html
它工作正常。任何想法來解決這個問題?
從瀏覽器的控制檯,您可以分享哪一行拋出這個錯誤? 'TypeError:Container不是構造函數[瞭解更多內容]' – gurvinder372
@ gurvinder372它在main.js中說:10:13。聲明var test = new divGenerator()的行; – user2265229
哪一行,提到具體行 – gurvinder372