javascript链接
我将用html5构建一个相当复杂的应用程序,使用一些繁重的javascripting。 在这里,我需要制作一些可以传递的对象。但是因为没有像@import foobar.js这样的东西 然后我假设如果我的html页面加载脚本,那么所有脚本都可以相互访问 我听说ajax能够从另一个.js文件中加载一个.js文件。但我不认为这是我需要的javascript链接,javascript,html,Javascript,Html,我将用html5构建一个相当复杂的应用程序,使用一些繁重的javascripting。 在这里,我需要制作一些可以传递的对象。但是因为没有像@import foobar.js这样的东西 然后我假设如果我的html页面加载脚本,那么所有脚本都可以相互访问 我听说ajax能够从另一个.js文件中加载一个.js文件。但我不认为这是我需要的 如果需要,可以进一步了解详细信息,提前感谢。您应该查看模块模式: 本文描述了在javascript中创建模块化代码的替代方案,以及如何保护代码并在它们之间共享AP
如果需要,可以进一步了解详细信息,提前感谢。您应该查看模块模式: 本文描述了在javascript中创建模块化代码的替代方案,以及如何保护代码并在它们之间共享API和数据 <>你也应该考虑使用和AMD。很受欢迎,但我倾向于选择这个。请记住,这些都对如何在文件中构造代码提出了一些要求,我个人认为,与页面底部包含的连接和缩小的文件相比,这是不值得的 然后我假设如果我的html页面加载脚本,那么所有脚本都可以相互访问
是的。在我们的项目中,我们执行以下操作:假设您要调用您的项目Foo,其中有一个名为Bar的模块 然后我们要做的是声明一个名为Foo.js的文件,该文件只定义了一个与Foo名称空间等价的名称空间:
Foo = (function(){
return {
};
})();
然后我们创建一个名为Foo.Bar.js的文件,其中包含Bar模块的代码:
Foo.Bar = (function(){
// var declarations here that should be invisible outside Foo.Bar
var p, q;
return {
fun1 : function(a, b){
// Code for fun1 here
},
fun2 : function(c) {
// Code for fun2 here
}
} // return
})();
请注意,它是一个如何立即执行的函数,并返回分配给Foo.Bar
的对象。任何局部变量,如p
和q
都可用于fun1
和fun2
,因为它们位于闭包中,但它们在Foo.Bar
Bar中的函数可以是对象等的构造函数
现在,在HTML中,您可以简单地包含以下两个文件:
<script type="text/javascript" src="Foo.js"></script>
<script type="text/javascript" src="Foo.Bar.js"></script>
结果是,您可以在主HTML文件的JavaScript中调用
Foo.Bar
函数,而不会出现任何问题。您听说过吗?你所有的.js文件都可以互相访问…不明白为什么一个有效的问题,即使它可能是“愚蠢的”,并且在网站上没有其他类似的问题,应该得到-1@如果是你。。。杰兹,你的态度真好,不客气。这篇文章很经典:)我添加了一个关于AMD的部分,应该考虑客户端架构。