简单解释为什么数据表使用 $.fn.dataTableExt.afnSortData

Sam*_*tar 1 jquery

我在那里看到一个帖子:

$.fn 是什么意思

然而我还是不明白。有人可以用非常简单的术语向我解释这一点。他们为什么选择以这种方式指定它?

Joã*_*lva 5

$.fn只是 的别名jQuery.prototype。要编写 jQuery插件,例如 DataTables,通常首先要向$.fn.

简单来说,当您编写 时$.fn.pluginName,您是在扩展jQuery 的原型,通过添加一个对其调用的新函数pluginName。这样,您可以使用例如$("#myElement").pluginName(). 这基本上就是 DataTables 所做的,它为 jQuery 提供了一个名为dataTablesExt.

现在,这个插件有几个属性。其中之一被称为afnSortData(您也可以使用 来指代jQuery.prototype.dataTableExt.afnSortData)。这样,插件属性的范围限定dataTableExt对象/插件。DataTables 可以选择在全局命名空间中定义它,但是这样,有人可以覆盖afnSortData,比如说,{}破坏插件。