所以要保持组织,我有几个
javascript文件,即使他们(最终)被一起细化形成一个最终的
JavaScript文件.
每个文件的内容都包装在:
$(document).ready(function(){
//some javascript here
});
看来,如果我有单独的文件(在那个代码之间),他们没有彼此访问的东西.这是范围问题吗?我能做什么?
例如,在一个文件中,我有一堆代码通过ajax接收的数据创建表.但是,一半的文件只是根据它的类型等来显示数据的模板.我想将模板放在自己的文件中.
我明白这只是一个“偏好”的问题,我可以把它全部放在一个文件中.
但是我希望从中学习,甚至可以让它“我的”方式.
Javascript使用
功能范围,因此
功能中的局部变量对外部是不可见的.这就是为什么您的
代码无法从其他范围访问
代码的原因.
理想的解决方案是创建一个命名空间.
var NS = {};
(function(){
function privateFunction() { ... }
NS.publicFunction = function(){ ... }
})();
$(document).ready(function(){
NS.publicFunction();
});
这也是一个有用的模式,因为它允许您区分私有和公共元素