在我们停止商量柯里化之前最后的议题是偏函数应用partial application。偏函数应用和柯里化经常同时出场,尽管它们实际上是不合的概念。一个柯里化的函数照样柯里化的函数,即使没有给它任何参数。偏函数应用,另一方面是仅仅给一个函数传递部分参数而不是所有参数。柯里化是偏函数应用常用的办法之一,然则不是独一的。
JavaScript 拥有一个内置机制可以不依附柯里化来做偏函数应用。那就是 function.prototype.bind 办法。这个办法的一个特别之处在于,它请求你将 this 作为第一个参数传入。 如不雅你一向行面向对象编程,那么你可以经由过程传入 null 来忽视 this。
- 1function giveMe3(item1, item2, item3) {
- return `
- 1: ${item1}
- 2: ${item2}
- 3: ${item3}
- `;
- }
- const giveMe2 = giveMe3.bind(null, 'rock');
- const giveMe1 = giveMe2.bind(null, 'paper');
- const result = giveMe1('scissors');
- console.log(result);
- // 1: rock
- // 2: paper
- // 3: scissors
总结
- const vehicles = [
- { make: 'Honda', model: 'CR-V', type: 'suv', price: 24045 },
- { make: 'Honda', model: 'Accord', type: 'sedan', price: 22455 },
- { make: 'Mazda', model: 'Mazda 6', type: 'sedan', price: 24195 },
- { make: 'Mazda', model: 'CX-9', type: 'suv', price: 31520 },
- { make: 'Toyota', model: '4Runner', type: 'suv', price: 34210 },
- { make: 'Toyota', model: 'Sequoia', type: 'suv', price: 45560 },
- { make: 'Toyota', model: 'Tacoma', type: 'truck', price: 24320 },
- { make: 'Ford', model:
推荐阅读
沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散! 几周前,我们开端写一个系列,>>>详细阅读
地址:http://www.17bianji.com/lsqh/38230.html
1/2 1