理解JavaScript中的bind()

  从JavaScript开始,函数绑定可能是你最不关心的问题,但是当你意识到你需要解决如何将“this”的上下文保持在另外一个函数中的问题时,你可能没有意思到你真正需要的是Function.prototype.bind();

  第一次遇到这种问题时,你可能倾向于将this赋予一个变量,这样你就可以在上下文改变时引用。很多人使用self,_this,有时是context去命名此变量。这样做是可用的,没有什么问题,但还有一个更好,更专注的方式。

  Jack Archibald 就关于缓存this发了一个推文:我会为作用yu作用域做任何事情,但我绝不对这样赋值 that = this;

  这对于我是很明显的,Sindre Sorhus这样指出:$this用来缓存jQuery对象,但在普通的JS中我不会这样做,我会使用.bind()

  我居然忽略了这个聪明的建议长达几个月。

  

翻译来源:https://www.smashingmagazine.com/2014/01/understanding-javascript-function-prototype-bind/

猜你喜欢

转载自www.cnblogs.com/JQ-Chan/p/9273937.html
今日推荐