我正在使用jQuery开发一个网站,并将代码组织成几个脚本文件。
如果我没有弄错,最好的做法是组织你的代码,比如这个样板(创建一个独立的范围并正确设置undefined
值):
(function($, undefined) {
$(document).ready(function() {
// code here
});
})(jQuery);
在我的情况下,我还将依赖某些服务器端脚本输出的一些外部配置,比如它存储为全局变量site_config
。所以目前我的脚本样板是:
(function(window, undefined) {
var document = window.document;
var $ = window.jQuery;
var config = window.site_config;
// equivalent to $(document).ready(function() {...
$(function() {
// code here using `config`
});
})(window);
所以我的问题是:这个样板中是否有任何捕捉/陷阱?
具体做法是:
window
吗? (假设包装函数在全局范围内)window.document
还是jQuery.document
?如果两者都错了,如何正确引用?答案 0 :(得分:0)
可以明确传入窗口吗?
没关系,但没必要(见Why do I pass the window object in to the module pattern?)。
我应该使用window.document还是jQuery.document?如果两者都错了,如何正确引用?
jQuery.document
错误,jQuery
函数对象没有这样的属性。但是,只使用document
就可以了,因为它是一个全局且不可写的变量。