gpt4 book ai didi

javascript - 适当使用Javascript的bind()

转载 作者:行者123 更新时间:2023-12-03 08:04:35 27 4
gpt4 key购买 nike

我已经了解了 JavaScript 的绑定(bind)方法,但我不确定应该在哪种情况下使用它。下面从一副纸牌(数组)中获取随机纸牌的示例是否被认为是该方法的适当使用:

function getRandomElementFromArray () {
return this.splice( Math.floor( Math.random() * this.length ) )[0];
}

var deckOfCards = // Array of 52 cards;

var getRandomCard = getRandomElementFromArray.bind(deckOfCards);

最佳答案

我不会说这是一个合适的用途 - 牌组应该简单地作为参数传递。

.bind 最常见的用途是专门附加给定的 this 当它不可能通过其他方式传递时/或创建一个函数的版本,其中初始参数是固定的,然后添加传递的额外参数,例如

对于前者:

function MyObject() {
this.callback = function() { ... }
}

var myobj = new MyObject();
el.addEventListener("click", myobj.callback.bind(myobj));

[如果没有 .bind 调用,回调将无法正确引用 this]

对于后者:

function add(a, b) { return a + b }
var add2 = add.bind(null, 2); // no "this" needed in this case
add2(3); // returns 5

关于javascript - 适当使用Javascript的bind(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34442544/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com