任何人都可以向我解释,如果使用命名空间是一个很好的编码习惯。为什么它需要?如果这是一个很好的方法,为什么JQuery没有默认包含它。有一个单独的插件允许此功能。JQuery命名空间是一种很好的做法吗?
我看到这个post,提到几种方法来做到这一点。有人提到有关令人担忧的帖子中的内存泄漏问题。
最后,组织JQuery库的最好方法是什么?
感谢,
任何人都可以向我解释,如果使用命名空间是一个很好的编码习惯。为什么它需要?如果这是一个很好的方法,为什么JQuery没有默认包含它。有一个单独的插件允许此功能。JQuery命名空间是一种很好的做法吗?
我看到这个post,提到几种方法来做到这一点。有人提到有关令人担忧的帖子中的内存泄漏问题。
最后,组织JQuery库的最好方法是什么?
感谢,
注:
响应于阿米尔的评论:
锐通过将变量到YUI对象,其中所添加的变量也是一个对象实现命名空间。他们的命名空间函数只是为你构建它。
var lib = {
util:{},
widget:{},
tool:{}
};
//creates a function named reset in the lib.util namespace
lib.util.reset = function() {};
//creates a function named reset in the lib.widget namespace
lib.widget.reset = function() {};
在jQuery中,你将它添加到jQuery.fn
(或$.fn
如果使用$
的jQuery()命名空间
回复:组织的jQuery库最好的方法,你应该通过阅读插件创作开始在jquery.com文章:
require.js是一个更好的做法,因为它不要求你添加对象到窗口对象不必要也。并不意味着你必须担心以前的JavaScript文件的加载顺序。
你不需要命名空间,只需要将模块与你的'' –
Raynos
什么是模块加载器? – Amir
['requireJS'](http://requirejs.org/)定义了'require'关键字来加载一个模块,'define'关键字定义一个。您使用_zero_全球范围。还有其他模块装载机,请自己去找它们;) – Raynos