如何在单独的文件中调用函数 js.
how to call function in seperate files js?
>我在两个文件 js 中定义了一些函数,file1 和 file2。在每个文件中,所有函数都在$(document).ready(function(){});
内。我小心翼翼地将 file1 放在 php 文件中 file2 上方,并从 file2 中的 file1 调用一个函数,但控制台返回未定义的函数。这是怎么回事?
如果函数是在文档就绪处理程序中定义的,则它们仅存在于该范围内,并且无法在其他任何地方访问。
最简单的解决方案是在文档就绪处理程序之外定义函数,并在就绪处理程序内部或彼此内部使用它们:
文件 1:
function myFunc() {
myOtherOtherFunc();
}
$(document).ready(function () {
myOtherFunc();
});
文件 2:
function myOtherFunc() {
}
function myOtherOtherfunc() {
}
$(document).ready(function () {
myFunc();
});
应该注意的是,这会将函数放在全局范围内,并且应该将其保持在最低限度,因此,如果您发现文件之间需要共享很多内容,则应考虑使用命名空间甚至更复杂的功能,例如模块加载器(例如require.js)。
因为你在另一个函数中定义你的函数,所以它们不是全局函数。这是一件好事。
有几种方法可以解决这个问题:
-
使它们成为全局变量(blech),或者
-
使用 AMD 机制,如 RequireJS,或
-
使用引用所有函数的单个全局
最后一个看起来像这样:
var MyApp = MyApp || {};
$(document).ready(function() {
MyApp.myFunction = function() {
// ...
};
});
然后,您可以通过MyApp.myFunction()
从任何地方呼叫它们。
$(document).ready 应该在 HTML 页面上调用。我建议你将各个js文件中的函数分开,并从页面上的document.ready调用这些函数。我认为这应该可以解决问题。
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 调用函数内部的函数
- 在javascript中调用c函数
- DropDownListFor赢得't在更改时调用函数
- Javascript页面调用函数
- 在动画结束之前调用函数
- 允许父窗口在其不同域的子iframe上调用函数
- 运行Infinite Scroll后调用函数时出现问题
- JavaScript:在调用函数的文本输入上按enter键
- 使用大括号和不使用bracs调用函数的区别
- javascript在事件上调用函数
- 从index.html调用函数,该函数无限循环
- 从带参数的字符串变量调用函数中的函数
- 为什么 JS 不在滚动时调用函数
- 是否可以在不更改上下文的情况下调用函数.apply
- 如何在ES6类中使用参数调用函数
- AngularJS:调用函数时编号不更新
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 在JavaScript中调用函数时自定义此选项
- 调用函数中声明的变量