javascript:默认情况下,总是将函数中的第n个参数作为固定值传递

Shi*_*ora 3 javascript lodash

该函数需要3个参数

function p(x,y,z){
 console.log(arguments);
}
Run Code Online (Sandbox Code Playgroud)

所以当我们把它称为p(12,21,32)

第四个论点应该如56所述

如此有效的呼叫应该是p(12,21,32,56)

这该怎么做?

条件我们无法更改函数定义.我需要将第四个参数部分绑定为56之类的东西

P = p.bind(此, '', '', '',56); 或使用lodash

然后再打电话给

P(12,21,32);

这样56应该默认通过

Ja͢*_*͢ck 6

您可以使用_.partialRight()创建一个新函数,将参数附加到原始函数的末尾:

function p(a, b, c)
{
  alert([].join.call(arguments, ','));
}

p = _.partialRight(p, 56);
p(1,2,3); // 1,2,3,56
Run Code Online (Sandbox Code Playgroud)
<script src="https://raw.githubusercontent.com/lodash/lodash/3.9.3/lodash.js"></script>
Run Code Online (Sandbox Code Playgroud)

要准确指定额外参数的位置,您可以使用占位符:

p = _.partialRight(p, _, _, _, _, _, _, 56); // add 56 as 7th arg
p(1,2,3); // 1,2,3,,,,56
Run Code Online (Sandbox Code Playgroud)