这两种类型的命名空间声明有什么区别?第一个比第二个好吗,反之亦然?
(function($)
{
$.build = {
init: function()
{
this.attachEvents();
}
}
}
$(document).ready(function() {
$.build.init();
});
})(jQuery);
与
var build = {
init: function(){
this.attachEvents();
}
};
$(document).ready(function() {
build.init();
});
答案 0 :(得分:3)
有两个主要的实际差异。第一个不创建额外的外部可访问变量,并且不依赖于函数外的$
jQuery
。第二个创建build
变量,并要求$
表示jQuery
。
答案 1 :(得分:2)
两者都很好,但第一个可能更好,因为它允许jQuery与其他库安全地玩。它不会与声明为$。
的任何其他变量发生冲突