javascript - 在函数上使用 .bind() 并将一些参数设置为常量而不是其他参数,JavaScript

标签 javascript

我知道使用基本的闭包是可能的,但我想看看如何使用 .bind() 来完成它以更好地理解这个函数方法。请参阅此示例代码:

function add (a, b) {
  return a + b;
}

var addTwo = multiply.bind(this, 2);

addTwo(10); // returns 12

这似乎工作正常。但是,是否可以使用 .bind() 来做同样的事情,但将第二个参数设置为固定值,同时保持第一个参数不变?

我尝试了以下操作:

function add (a, b) {
  return a + b;
}

var addThree = multiply.bind(this, null, 3);

addThree(10); // returns 10, presumably because null + 10 === 10

有没有办法使用 .bind() 来选择要设置的参数和保留的参数?

最佳答案

_.partial确实以 _ 作为占位符实现了这一点,即 addThree = _.partial(multiply, _, 3); its implementation涉及跟踪部分占位符的位置。虽然这是一本很棒的读物,但它确实涉及到一个图书馆。这是目前在 JS 中最接近位置参数绑定(bind)的东西。

关于javascript - 在函数上使用 .bind() 并将一些参数设置为常量而不是其他参数,JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33681966/

相关文章:

javascript - ng-选项 : how to put empty option at the end?

javascript - Javascript中的pageX/Y clientX/Y screenX/Y有什么区别?

javascript - 坚持将 css 类添加/切换到 jquery 中的 html 元素

javascript - jQuery在单独的元素中切换()文本

php - jQuery if() 要求空 ajax 响应时效果不佳

javascript - 如何在 JavaScript 中使用内部 HTML 添加换行符到 'div'?

javascript - 分配给 {}.toString 是什么意思?

javascript - 以最有效的方式剪切和粘贴数组元素

javascript - 如何使用 javascript 或 jquery 更改 href 值?

javascript - 如何在 Chart.js 条形图上放置圆 Angular