0

对于我的 CSS,我正在为特定功能构建几个较小的文件,然后使用缩小将它们组合并压缩成一个文件以供下载。

我想对我的 JS 文件做同样的事情 - 逻辑分离,然后与 MIN 组合并压缩以供下载。

我唯一的收获是我正在构建的基于 AJAX 的站点有一个核心 JS 文件,该文件接受在主查看区域中加载页面的请求。

我可以从其他 JS 文件中调用此函数(在一个 JS 文件中)吗?这有点像将一个 JS 文件公开给其他脚本。

有什么建议吗?

谢谢

更新* * ** * *

那么我将如何从另一个 JS 文件中调用一个函数。

例如:

文件 A 有函数 callmetoday()

如何从 JS 文件编号 2 中调用它?

4

3 回答 3

0

当然,只要确保首先加载依赖 js 文件即可。

如果您正在寻找更“模式化”的解决方案,我是否有兴趣查看requirejs,这是一个可以帮助您解决此类依赖问题的库。

干杯

于 2012-10-20T02:31:42.957 回答
0

是的,您可以从两个单独的 js 文件中加载函数,这就是问题所在:

必须先声明该函数,然后才能使用它

这意味着您将需要具有要运行的函数的 js 文件,在调用它的 js 文件之前加载.....或者确保在页面完全加载后调用该函数

于 2012-10-20T02:31:48.200 回答
0

是的。除非您在函数内或作为对象字段声明函数或变量,否则它位于全局范围内。如果是浏览器,那就是window对象。

另请注意 Darwayne 的警告:您只能在声明后使用来自不同文件的函数(在某些浏览器中甚至在文件中)。

例子:

文件 1.js:

function f1(x){
  f2(x)
}

document.addEventListener("load",function(){f1(3)})

文件 2.js:

function f2(x){
  alert(x)
  if(x) f1(x-1)
}

将工作:

  • 1.js 加载时,f1出现在全局范围内
  • 2.js 加载时,f2出现在全局范围内
  • 当页面完全加载f1并且f2可以访问时。
于 2012-10-20T02:44:10.063 回答