网站建设最好,响应式网页设计图,衡阳网站优化公司,wordpress上传都图片不显示函数柯里化#xff08;function currying#xff09; currying又称部分求值。一个currying的函数首先会接受一些参数#xff0c;接受了这些参数之后#xff0c;该函数并不会立即求值#xff0c;而是继续返回另外一个函数#xff0c;刚才传入的参数在函数形成的闭包中被保…函数柯里化function currying currying又称部分求值。一个currying的函数首先会接受一些参数接受了这些参数之后该函数并不会立即求值而是继续返回另外一个函数刚才传入的参数在函数形成的闭包中被保存起来。待到函数被真正需要求值的时候之前传入的所有参数都会被一次性用于求值 var currying function( fn ){var args [];return function(){if ( arguments.length 0 ){return fn.apply( this, args );}else{[].push.apply( args, arguments );return arguments.callee;}}};var cost (function(){var money 0;return function(){for ( var i 0, l arguments.length; i l; i ){money arguments[ i ];}return money;}})();var cost currying( cost ); // 转化成currying函数cost( 100 ); // 未真正求值cost( 200 ); // 未真正求值cost( 300 ); // 未真正求值alert ( cost() ); // 求值并输出600摘自《javascript设计模式与开发实践》