news 2026/8/19 10:30:04

前端开发 - this 指向问题(直接调用函数、对象方法、类方法)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
前端开发 - this 指向问题(直接调用函数、对象方法、类方法)

一、直接调用函数

1、基本介绍
  1. 非严格模式:this 为 window

  2. 严格模式,this 为 undefined

2、演示
functionfn(){console.log(this);}fn();
# 非严格模式下运行,输出结果 Window {window: Window, self: Window, document: document, name: '', location: Location, …}
# 严格模式下运行,输出结果 undefined

二、对象方法

1、基本介绍
  1. 非严格模式:调用对象的方法,this 为该对象,取出方法后调用,this 为 window

  2. 严格模式:调用对象的方法,this 为该对象,取出方法后调用,this 为 undefined

2、演示
constobj={fn(){console.log(this);}}obj.fn();console.log("----------");constobj_fn=obj.fn;obj_fn();
# 非严格模式下运行,输出结果 {fn: ƒ} ---------- Window {window: Window, self: Window, document: document, name: '', location: Location, …}
# 严格模式下运行,输出结果 {fn: ƒ} ---------- undefined

三、类方法

1、基本介绍
  1. 非严格模式:调用类的方法,this 为该类的实例,取出方法后调用,this 为 undefined

  2. 严格模式:调用类的方法,this 为该类的实例,取出方法后调用,this 为 undefined

  • 注:类的所有代码默认都是在严格模式下执行的
2、演示
classPerson{constructor(name,age){this.name=name;this.age=age;}showInfo(){console.log(this);console.log(this.name,this.age);}}constp=newPerson("张三",18);p.showInfo();console.log("----------");constperson_showInfo=p.showInfo;person_showInfo();
# 非严格模式下运行,输出结果 Person {name: '张三', age: 18} 张三 18 ---------- undefined Uncaught TypeError: Cannot read properties of undefined (reading 'name')
# 严格模式下运行,输出结果 Person {name: '张三', age: 18} 张三 18 ---------- undefined Uncaught TypeError: Cannot read properties of undefined (reading 'name')
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 16:23:15

永磁同步电机矢量控制系统仿真及其说明报告

永磁同步电机矢量控制系统仿真及其对应说明报告!永磁同步电机的矢量控制算是工业界的老熟人了,这玩意儿玩的就是磁场和转矩的解耦。咱们今天不扯那些复杂的数学推导,直接打开Simulink甩开膀子干。先看这张仿真模型总图——左边是双闭环结构&a…

作者头像 李华
网站建设 2026/7/14 16:23:16

基于二次规划的路径规划与速度规划:从MATLAB到C++的实践

基于二次规划(QP)的路径规划和速度规划 matlab代码实现 详细文档 picewise jerk path picewise jerk speed 更新: c版本已完成,qt可视化。 最近在做一个关于路径规划和速度规划的项目,主要基于二次规划(QP)的方法。虽然之前对QP…

作者头像 李华
网站建设 2026/7/14 16:23:17

乐迪信息:船舶AI倾斜算法的智慧港口安全监控系统

船舶AI倾斜算法通过融合传感器实时数据采集与机器学习深度分析,实现了对船舶倾斜角度、重心变化等动态参数的高精度监测。该技术能够即时识别异常状态并触发预警,同时基于历史数据预测潜在风险,为港口安全管理提供了从被动响应向主动预防转变…

作者头像 李华
网站建设 2026/7/14 16:23:16

COMSOL仿真在声表面波(SAW)传感器设计中的应用

COMSOL声表面波SAW行波驻波传感器铌酸锂128度Y切X传播三维模型 电场、位移、深度方向、叉指对数、插入损耗、带宽、声孔径、衍射声表面波(SAW)传感器因其高灵敏度和低功耗的特点,在液体检测、气体传感器等领域有着广泛应用。基于铌酸锂材料的…

作者头像 李华
网站建设 2026/7/14 16:23:18

储能PCS这玩意儿搞过的人都知道,核心就是双向DCDC和三电平逆变这对黄金搭档。今天咱们拆开说说这个30KW方案里的门道,手头刚好有套挺有意思的代码

30KW储能PCS逆变器双向变流器设计方案资料,双向DCDC和三电平逆变PCS 1.此系列为30KW储能PCS逆变器设计方案资料,双向DCDC和三电平逆变PCS; 2.仿真源码含有并网和离网两个模型; 3.原理图(PDF)含控制板&…

作者头像 李华
网站建设 2026/7/14 16:23:19

一个使用MAUI Blazor 构建、开源、跨平台的本地日记APP

致力于挖掘功能强大、性能优越、创新前沿且简单易用的 C#/.NET 开源框架、项目、类库与工具。助力 .NET 开发者轻松解锁并运用这些实用的宝藏资源,提升开发效率与创新能力!项目概述侠客日记是一个开源、跨平台的本地日记应用,使用MAUI Blazor…

作者头像 李华