据我所知,在当前项目中,开发人员使用jQuery扩展来处理命名空间。这有多糟糕?
var my = $.extend({}, {
itemone: 0
}
$.extend(my, {
init: function() {}
}
$(function() {
my.init();
})();
答案 0 :(得分:3)
在您发布的简单示例代码中,您并不需要使用$.extend
,但一般情况下,我不会说使用jquery $.extend
来帮助命名空间是“坏”。有关javascript命名空间模式的信息,请参阅this post。
根据作者的说法,使用'extend'或'deep object extension'被认为是一种高级命名空间扩展技术。使用jQuery的$.extend
使得该技术相当容易,但可能会增加一定的开销。
我从未以这种方式使用它,但是在具有一些复杂/深度命名空间的大型应用中,使用$.extend
可能会有所帮助。我不会加载jquery库只是为了使用它的extend方法。