偏函数
什么是偏函数?
假设有一个参数或变量已经预置的函数A,我们通过调用A来产生一个新的函数B,函数B就是我们说的偏函数,有点拗口?请看示例:
var isType = function(type){ return function(obj){ return toString.call(obj)=='[object '+type+']'; } }; var isString = isType('String'); var isFunction = isType('Function');
isType函数中预置了判断类型的方法,只指定部分参数来产生的新的定制的函数isString和isFunction就是偏函数。
参考示例,定义一个判断数组类型的偏函数isArray(注意示例中object后的空格)。
var isType = function(type){ return function(obj){ return toString.call(obj)=='[object '+type+']'; } }; var isArray= isType('Array');