JS 箭头函数作为回调函数:避免 `bind()` 带来的开销与复杂性

好的,各位观众老爷,咱们今天唠唠嗑,主题是关于JavaScript里箭头函数当回调函数使唤的一些门道。 开场白:this 的那些糟心事儿 话说当年,JavaScript 里的 this 可谓是让人又爱又恨。爱它是因为它能指向当前对象,恨它是因为它经常指得乱七八糟,让人摸不着头脑。特别是用在回调函数里,this 的指向更是如同薛定谔的猫,你不打开它,永远不知道它是死是活。 为了解决 this 指向混乱的问题,前辈们发明了 bind() 这个神器。bind() 就像一个 GPS 定位器,能把 this 牢牢地绑定到你想要的对象上。但是,bind() 毕竟是一个函数调用,调用一次就得多费一点资源,而且代码也显得有点臃肿。 主角登场:箭头函数,this 的救星 后来,ES6 带来了箭头函数。箭头函数最大的特点就是它没有自己的 this,它的 this 永远指向定义它时所在的作用域。这一下,this 的指向问题迎刃而解,我们终于可以摆脱 bind() 的束缚了。 箭头函数 vs bind():性能和代码简洁性的双赢 那么,箭头函数和 bind() 相比,到底有哪些优势呢?咱们不妨掰扯掰扯: 性能 …