将$ .extend用于一般帮助函数是不好的做法吗?

时间:2017-09-26 13:12:09

标签: jquery angularjs

在我的AgularJs项目中,我需要在项目的不同部分使用多个函数(例如,以特殊方式对数组进行排序,以特殊方式比较值等)。

由于我的应用程序中已经有这么多服务,我不愿意使用另一个服务在项目的每个部分都提供这些功能。

所以我提出了使用$.extend通过自定义函数扩展jQuery命名空间的想法,例如

$.extend({
    myHelperFunctions : {
        sortMyArrayInThatSpecialWay: function(array) {

            ...
            return sortedArray;
        },
        ...
    }
});

这样可以使用

var sortedArray = $.myHelperFunctions.sortMyArrayInThatSpecialWay(unsortedArray);

在我的应用程序中的每个控制器,服务或任何其他功能中,无需注入服务。

现在我的问题是:这是好的做法吗?如果没有,为什么?

1 个答案:

答案 0 :(得分:0)

性能方面,jQuery.extend比直接声明像jQuery.fn.foo = function(){ };

这样的函数要慢

因此最好定义函数并以这种方式使用它。

这是我可以提供的一个很小的例子来支持我的答案:

jQuery.log = function(message) {
    // log somewhere
};

$.log("much better");