当前位置 : 主页 > 手机教程 > 手机资讯 >

你可能不知道的JavaScript之this指向详解

来源:互联网 收集:自由互联 发布时间:2023-01-25
目录 前言 默认绑定,全局对象 点石成金,隐式绑定 隐式绑定丢失 指腹为婚,显式绑定 内有乾坤,new 绑定 军令如山,箭头函数 this 绑定优先级 总结 相关文献 引用链接 前言 JavaScri
目录
  • 前言
  • 默认绑定,全局对象
  • 点石成金,隐式绑定
  • 隐式绑定丢失
  • 指腹为婚,显式绑定
  • 内有乾坤,new 绑定
  • 军令如山,箭头函数
  • 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;

上一篇:前端面试的底气之实现一个深拷贝
下一篇:没有了
网友评论