我在两个文件js,file1和file2中定义了一些函数。在每个文件中,所有功能都在$(document).ready(function(){});
之内。我仔细地将file1放在一个php文件中,然后在file2中调用file1中的一个函数,但是控制台返回未定义的函数。这里有什么问题?如何在独立文件js中调用函数?
0
A
回答
1
如果函数是在文档就绪处理程序中定义的,那么它们只存在于该范围内,并且在其他地方无法访问。
最简单的解决办法是定义您的文档准备处理以外的功能和使用他们准备好处理程序内或在彼此内:
文件1:
function myFunc() {
myOtherOtherFunc();
}
$(document).ready(function() {
myOtherFunc();
});
文件2:
function myOtherFunc() {
}
function myOtherOtherfunc() {
}
$(document).ready(function() {
myFunc();
});
应该指出的是,这将函数放在全局范围内,并且这应该保持在最小限度,所以如果您发现有很多需要在文件之间共享,您应该考虑使用命名空间或甚至是像模块加载器一样更复杂(例如, require.js)。
-1
$(document).ready应该在html页面上调用。我建议你将各个js文件中的函数分开,并从page.ready中调用这些函数。我认为这应该可以解决问题。
0
因为你在另一个函数中定义你的函数,所以它们不是全局变量。这是一个好的的事情。
有几个方法可以解决这个:
让他们的全局(BLECH),或
使用AMD机制像RequireJS,或
使用单全球,提及您的所有功能
这最后看起来像这样:
var MyApp = MyApp || {};
$(document).ready(function() {
MyApp.myFunction = function() {
// ...
};
});
然后你就可以通过MyApp.myFunction()
从任何地方调用它们。
相关问题
- 1. 如何独立调用函数?
- 2. 如何在独立类中调用函数?
- 3. 独立文件中的函数实现
- 4. 如何在独立的.vbs文件中从VBScript调用DotNetFactory?
- 5. 从独立的CPP文件调用函数/变量
- 6. 如何在.js文件中从.html调用JavaScript函数
- 7. 如何在server.js文件中调用其他js函数?
- 8. 如何在Metro应用中的另一个js文件中调用js函数?
- 9. 如何在HTML中调用JS函数
- 10. 2 window.onload在2个独立的.js文件中,只有1个函数加载
- 11. ng-repeat在JSON文件中的两个独立数组Angular JS
- 12. 如何从功能文件中的单独类调用函数?
- 13. 在python中独立使用sage函数
- 14. 如何调用JS函数
- 15. 如何从后面的代码中调用JavaScript函数,该函数位于单独的.js文件中?
- 16. 在外部js文件中调用js函数
- 17. 在.js文件的html中调用js函数
- 18. 如何在html中使用onload事件来调用js文件中的函数
- 19. Magento 2:如何调用js函数在我的Requirement.js文件中,从phtml文件
- 20. 如何从POST中的另一个js文件调用函数?
- 21. 如何调用extern .js文件中的函数?
- 22. 如何调用外部js文件中的函数?
- 23. 如何从另一个JS文件中调用Javascript函数
- 24. 在.js文件中调用html文件中声明的js函数
- 25. 在许多其他JS文件中调用一个JS文件中的函数
- 26. getJSON回调函数没有在js文件中调用
- 27. 两个独立组件如何在angular2 js中彼此交谈?
- 28. 从php文件调用js函数
- 29. 从erb文件调用js函数
- 30. 调用外部js函数文件
谢谢JLRishe。我很愚蠢,我忘记了范围。 – PMH 2015-03-08 18:07:52