我正在使用一个框架 (Django),并且我在编写 HTML 方面有很大的灵 active 。我一直认为我编写 jQuery 的方式可以更好。
以此为例:我们网站上出现提交按钮的大部分地方,我们都会将其转换为更漂亮的按钮(采用原始值和行为并基本上替换它)。这只是一个例子,但有很多用例,我在网站上放置了 html 片段,而总体结构不知道页面上有什么需要由 Javascript 操作。所以 2 部分问题:在 100 页上执行仅在 50 页上使用的东西是否有效(首先搜索包装集的 jQuery 插件),如果我真的想对我的 jQuery 使用模块化方法,如何我去做吗?
最佳答案
如果您问题中的基本问题是关于 Modular programming .我正在学习Douglas Crockford's "JavaScript: The Good Parts" .
来自本书:
Functions are the fundamental modular unit of JavaScript. They are used for code reuse, information hiding, and composition.
因此,在 javascript 中,所有函数都是对象,您可以使用对象字面量符号以这种方式将顶级结构定义为模块:
/* only one global variable to encapsulate all your code */
var MAINOBJ= {};
jQuery(document).ready(function($) {
/* modules */
MAINOBJ.formStuff = {
results : [],
myFunction: function (){
// code
results = MAINOBJ.ajaxStuff.loadResults();
// code
}
}
MAINOBJ.ajaxStuff = {
results : [],
loadResults: function (){
// code
return results;
}
}
/* DOM traversing */
$('#myForm').submit(function(e) {
e.preventDefault();
MAINOBJ.formStuff.myFunction();
});
})
实际上这是我在 wordpress/joomla 等中构建我所有 jquery 代码的方式,我们与很多外国人的 javascript 代码共享相同的范围。
关于javascript - 如何更模块化地编写 jQuery 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139894/