this的一点理解

<strong>1.</strong>this既不指向函数自身也不只指向函数的词法作用域。

<strong>2.</strong>this实际上是在函数被调用时发生的绑定,它的上下文取决于函数调用时的各种条件,this的绑定和函数声明的位置没有关系,只取决于函数的调用方式和位置。
当一个函数被调用时,会创建一个活动记录(也就是<strong>执行上下文</strong>),这个记录包含调用栈、调用方法、传入参数等信息,this就是这个时候被确定绑定的。

<strong>3.</strong>this绑定有很多情况,具体优先级如下:
①由new调用,绑定到新创建的对象;
②由call或者apply(或者bind)调用,绑定到指定的对象;
③由上下文对象调用,绑定到那个上下文对象;
④默认:在严格模式下绑定到undefined,否则绑定到全局对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容