JS `this` 绑定机制的五种情况:深入理解与避免陷阱

嘿,各位代码界的英雄们,晚上好!我是你们的老朋友,今天咱们来聊聊 JavaScript 中那个让人又爱又恨的 this。这玩意儿就像个变色龙,一会儿指东,一会儿指西,搞得新手晕头转向。别怕,今天我就要扒光它的底裤,让它在咱们面前无所遁形! 咱们的目标是:用最接地气的方式,把 this 的五种绑定机制讲明白,让你以后再也不怕它出来捣乱。 this:一个谜一样的男人(或女人) 首先,我们要明白,this 永远指向一个对象。问题是,它指向哪个对象?这就取决于函数是怎么被调用的。this 的指向是在运行时确定的,而不是定义时。 可以把 this 看作是函数的“上下文”,它代表了函数执行时所处的环境。 五大绑定机制:this 的变形术 下面,咱们就来逐一揭秘 this 的五种绑定机制,并配上生动的例子,保证让你一听就懂,一学就会。 默认绑定 (Default Binding) 这是最简单的一种情况,也是最容易被忽略的。当函数独立调用时,this 会指向全局对象。在浏览器中,全局对象就是 window,而在 Node.js 中,全局对象是 global。 function whoIsThis() …