我正在编写一些更复杂的 javascript 应用程序,并且遇到了我自己知识的局限性——请原谅任何命名错误或明显的菜鸟,我不是 js 专业人士!
我有大约 4 或 5 个脚本放在他们自己的文件中,只是为了让事情更容易维护。因此,也许有一个脚本处理构建页面元素(如复杂表单),另一个只处理数据,创建通用 ajax 请求对象,为返回的数据定义解析器和错误函数,另一个纯粹面向显示。
我在页面中设置了全局变量,然后由在运行时加载的各种脚本填充。例如,我var myapp = { };
在主 HTML 页面中定义,然后在脚本中各种函数填充这个“命名空间”,如:
myapp.myfunction = function(){
// do stuff
}
问题是,尽管所有脚本都包含一个$(document).ready(function()
包含所有函数定义的块,但当从一个引用另一个脚本的脚本调用函数时(也就是说,如果我的data.js
文件调用文件myapp.myDisplayFunction
中的函数,display.js
我有时会得到一个Object has no method 'myDisplayFunction'
除了将所有功能都塞进一个庞大的脚本之外,您如何处理这个问题?有没有我错过的最佳实践?或者这只是指定调用脚本的不同顺序的问题?
谢谢