我有两个javascript文件(file1,file2)。 File1使用file2中定义的类。我可以通过以下方式从html文件引用这些文件:
<script type="text/javascript" src="file1.js"></script>
<script type="text/javascript" src="file2.js"></script>
这是否允许file1依赖于file2中定义的类? 如果不是什么插件允许这种依赖?
答案 0 :(得分:0)
它与您使用它们的方式有关。一种简化的方法。
情景1:
script1.js
function primary()
{
secondary();
}
script2.js
function secondary()
{
alert("hi primary");
}
的test.html
<html>
<head>
<script src=script1.js></script>
<script src=script2.js></script>
</head>
<body>
</body>
</html>
它有效(你已经知道了)
情景2:
script1.js
secondary();
script2.js和test.html如上所述
它不起作用(js错误)
场景3:
script1.js
secondary();
script2.js保持不变
的test.html
<html>
<head>
<script src=script1.js defer></script>
<script src=script2.js></script>
</head>
<body>
</body>
</html>
有效。
这是你要找的吗?
答案 1 :(得分:0)
概述:
使用Jquery使用以下命令动态加载JS:
$.getScript("file1.js",function(){
alert("File1.js is loaded");
}
面向对象JS和动态js加载的示例。
File1.js as:
File1 = function(){
}
File1.prototype=
{
constructor:File1,
primary:function()
{
if (File2 == "undefined")
{
$.getScript("file2.js",function()
{
file2 = new File2();
file2.secondary();
});
}
}
}
File2.js As:
File2 = function(){
}
File2.prototype=
{
constructor:File2,
secondary:function()
{
if (File1 == "undefined")
{
$.getScript("file1.js",functiom()
{
file1 = new File1();
file1.primary();
});
}
}
}
这应该让你很好地了解JS的动态加载,以及JS面向对象的概念。