JS this指向
架构科学 人气:0前言
JavaScript 对 this 指向 话题 的理解是永不过时的,鉴于 JavaScript 中 this 风骚的运作方式,本文将试图将其拆解分析,烹饪再食用~。
this is all about context.,大概意思就是:this 与当前执行上下文相关。
this 说白了就是找离自己最近的对象,即拥有当前上下文(context)的对象(context object)。
换句话说,this 与函数被调用时,调用函数的对象有关。
默认绑定,全局对象
正所谓近水楼台先得月,全局对象作为对遥远的对象是作为备胎的存在,为语言边界护城河做兜底。
一般情况下,this 指向全局对象则属于默认绑定。那么什么是默认绑定呢?
this 默认绑定,通俗地可理解为函数被调用时无任何调用前缀对象的情景,由于函数调用时无调用前缀对象或函数无特定绑定,所以非严格模式下此时 this 会指向全局对象。
在非严格模式下,不同终端的全局变量对象有所区别:
• 在浏览器端,this 指向 Window 对象;
• 在 Nodejs 环境,this 指向 global 对象;
• 在函数环境,this 指向 绑定当前函数的作用域;
在严格模式下:
• 在 use strict 环境, this 指向 undefined;
加载全部内容