由于我学会了如何用jQuery编写自己的插件,我发现每当我构建一个具有任何复杂性的页面时,我都很想用这种方式来处理我的javascript。显然,当我们谈论10行代码时,这是很愚蠢的,但是当我要用几百行javascript (或更多)构建一个页面时,这似乎是最简单的方法:
$("#myform").myPagePlugin({options}, {data});
)“插入”我的javascript到页面上。
如果我开始这么做,我是在挖洞吗?我遗漏了什么吗?
发布于 2011-01-13 00:15:29
我唯一的批评是,你正在创建一个jQuery插件,看起来你再也没有打算再使用它了。这增加了运行jQuery运行的jQuery来初始化一个插件的开销,而这个开销并不值得,因为该模块将不再被使用。
与其使用jQuery插件,不如创建一个命名空间的JavaScipt对象?例如:
var mypage = {};
mypage.controller = function(){
} //your preferred JavaScript object notation here.或者这种名称空间的方法是你所指的“无趣”呢?如果是这样的话,我会恭敬地不同意。
发布于 2011-01-13 02:45:52
每个Zalavsky的散列的唯一问题是,虽然散列非常优雅地创建了一个名称空间,但它没有创建作用域。通常,您需要模块范围内的静态变量,这些变量是,而不是外部世界可用的。在这种情况下,我会写
var mypage = function() {
var some_module_static ;
return {
controller :function(){
// use some_module_static here
}
};
}();当你不需要一个单独的范围,是的,使用哈希。
每当你在编写一个概念上有用的模块时,都要编写一个插件,而不是你目前正在做的事情。
https://stackoverflow.com/questions/4675463
复制相似问题