node里面的偏函数
在node里面如果我们定义每一种类型判断的函数则如果定义的类型过多的话,就会使得代码显得过于冗余,在这里我们定义偏函数:
var toString=Object.String.toString;
var isType(type)
{
return function(obj)
{
return toString.call(obj)=='[ object '+type +' ]';
}
}
var isString=isType('Sting');
var isFunction=isType('Function');
在上面的例子中
直接实现了两个函数 创建了isString() 、isFunction()函数就变得简单多了。
著名的Underscore库提供的after() 方法也是偏函数的应用:
_.after=function(times,func)
{
if(times<=0) return fun();
return function()
{
if(--times<1){return func.apply(this,argumets)};
}
}