你不知道的JavaScript之this指向
作者:互联网
前言
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
;
标签:绑定,log,指向,JavaScript,call,boss1,boss2,知道,函数 来源: https://www.cnblogs.com/liejy/p/16245708.html