Web

JS中this的指向

总结一下this的指向:

调用方式示例指向解释
通过new调用new Foo()新对象const foo = new Foo(),此时this指向foo
直接调用foo()全局对象取决于运行环境,在浏览器中为window,在node中为global
通过对象调用obj.foo()前面的对象const obj = { foo: function() {} }函数foo的this指向obj
通过call/apply/bind调用foo.call(ctx)第一个参数foo.call(ctx),此时this指向ctx

由此可见,this的指向取决于调用方式,而不是函数定义方式。当你定义函数的时候, this的指向尚未确定。只有调用函数时,this的指向才会确定。

最近的文章

前端模拟面试

更早的文章

一文说清SKU算法的实现

欢迎在评论区留下您的见解~