我可以为自己的变量调用$ .fn函数吗?

时间:2018-05-30 10:02:33

标签: javascript jquery function datatables

我使用DataTables插件显示一些数据,这些数据有一些很好的内置功能,如数字解析:

{
    data: 'price',
    render: $.fn.dataTable.render.number( ',', '.', 2, '$' )
}

我的问题是:我可以调用该函数(并使用它)来格式化我的一些自定义var number吗?

这样:如何使用该函数格式化var number = 12.456将结果存储在另一个变量上?我需要一些包装吗?所以我可以使用不同的格式(每个数字)格式化我想要的任何数字。

1 个答案:

答案 0 :(得分:3)

是的,你可以,虽然它有点不雅观。

render.number()调用返回一个带有display属性的对象,该属性包含一个函数,该函数接受要格式化为参数的值。您可以在line 14888上的当前来源中看到此内容。

因此你可以像这样调用那个函数:

var number = 12.456;
var output = $.fn.dataTable.render.number(',', '.', 2, '$').display(number);

console.log(output);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>

如果你需要这个,我建议从Datatables和你自己的命名空间中提取逻辑。这样,如果Datatables源在未来的版本中发生变化,你就可以控制它,而且调用它也不那么冗长。