我试图模仿
JavaScript库
Underscore.js中的时代功能.
此函数接受两种语法:
_.times(3,function(n) { console.log("hello " + n); });
和
_(3).times(function(n) { console.log("hello " + n); });
到目前为止,我成功地通过创建一个_对象来模拟第一个,如下所示:
var _ = { times: function(reps,iteratee) { // a loop } };
而第二种语法通过创建一个_函数返回一个对象:
function _(n) { return { times: function(iteratee) { // a loop } }; }
但是我不能一起使用这两种方法.我需要找到一种允许这两种语法的方法.
你有什么想法可以使用_字符作为一个对象以及一个函数吗?
解决方法
函数是Javascript中的对象,所以你可以这样做:
var _ = function(a,b) { /* ... */ }; _.times = _;