在我的AgularJs项目中,我需要在项目的不同部分使用多个函数(例如,以特殊方式对数组进行排序,以特殊方式比较值等)。
由于我的应用程序中已经有这么多服务,我不愿意使用另一个服务在项目的每个部分都提供这些功能。
所以我提出了使用$.extend
通过自定义函数扩展jQuery命名空间的想法,例如
$.extend({
myHelperFunctions : {
sortMyArrayInThatSpecialWay: function(array) {
...
return sortedArray;
},
...
}
});
这样可以使用
var sortedArray = $.myHelperFunctions.sortMyArrayInThatSpecialWay(unsortedArray);
在我的应用程序中的每个控制器,服务或任何其他功能中,无需注入服务。
现在我的问题是:这是好的做法吗?如果没有,为什么?
答案 0 :(得分:0)
性能方面,jQuery.extend
比直接声明像jQuery.fn.foo = function(){ };
因此最好定义函数并以这种方式使用它。
这是我可以提供的一个很小的例子来支持我的答案:
jQuery.log = function(message) {
// log somewhere
};
$.log("much better");