jQuery focus.bind(domObj) 是做什么的?

What does jQuery focus.bind(domObj) do?

所以我遇到了这段代码:

setTimeout(domObj.focus.bind(domObj), 500);

用简单的英语来说,这是什么意思?

focus.bind 是做什么的?

将 domOBj 传递给 bind() 函数会完成什么?

focus.bind(domObj) 只允许您在焦点事件的执行上下文中将 domObj 绑定为 this

这意味着在方法 focus 的执行中,您可以使用 this 关键字访问 domObj

有关绑定方法的完整说明,请参阅 this

jQuery 中的焦点事件参见 this

在Javascript中绑定用于创建部分应用的函数。

bind 方法returns 一个新函数,其代码与调用 bind 的函数相同。唯一的区别是,新函数的 this 值将使用传入的第一个参数设置。

在您的例子中,同样地,focus.bind(domobj) 创建了一个与 focus() 相同的新函数,只是它的 this 绑定到 domobj。超时后,将调用这个设置了 domobj 的新函数。