被误解多年的JS特性this:看似简单却最容易出错的用法
this问题确实让人头疼——就是那个让你自信满满写下this.value,回头却发现莫名其妙拿到undefined的"老朋友"。
不是this本身有问题,而是调用方式与上下文跟你想的不太一样。JS中有上百个"奇怪脾气",但最难缠的,偏偏是最常见、你以为早已掌握的那个。我也是如此——直到某天它又给我当头一棒:不是它坏了,是我以为自己懂了。
元凶是谁?
this。没错,就是那个让我们在代码中既爱又恨的存在。
问题不在this本身,而在于调用方式与上下文跟你脑海中的预期出现了偏差。
我曾误解了什么
我一直以为:this指向包含这个函数的对象。比如:
这段代码当然能正常运行。但当你把方法抽离出来:
糟了!this突然就不按常理出牌了。为什么会这样?因为决定this指向的关键不是"函数在哪定义",而是"函数如何被调用"。
this的真实规则(说人话版)
全局函数(非严格模式): this → 全局对象(浏览器中是window)
严格模式函数: this → undefined
对象方法调用: this → 点号左边那个对象
箭头函数: 不绑定自己的this,继承外层
DOM事件处理: this → 触发事件的元素(多数情况下)
setTimeout/setInterval: this → 全局(除非你手动bind)
我是如何修正认知的
1. 有意识地使用箭头函数
箭头函数不创建自己的this,它捕获外层作用域的this值。
这能稳定自增。若把箭头换成普通函数,this多半会跑偏。
2. 认真学会.bind()是干什么的
bind = 把**调用时的this**钉死在你想要的对象上。
3. 到处console.log(this),比看书快十倍
在这些地方打点最能长见识:
箭头函数 vs 普通函数
事件处理函数
setTimeout回调
Promise链
class方法
你会被"真实世界里的this"教育。
为什么你必须搞清楚
对this的误解会带来:
隐蔽的bug(最难抓)
诡异的副作用
函数丢失上下文
一整天的抓狂调试
但当你真正"顿悟"的那一刻:代码更可读、更抗bug,你还能把这套知识讲给新人听。
实操心法(拿走就用)
方法要外传?传已绑定的:obj.method.bind(obj)
class回调?倾向箭头函数:onClick = () => { … }
库回调(如事件/定时器)?确认它怎么调用你,再决定bind / 箭头
工具函数?写成纯函数(别依赖this),用参数显式传递
lint规则:开启no-invalid-this(配合TS/ESLint更香)
最后一句话
如果你对this心里还是没底:不是你的问题。这是一种看着简单、下嘴就咬的语法点。一旦"啪"地悟到,你的JS代码会少坑、少猜、少崩溃。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
李宁品牌逆袭之路从国内低迷到纽约时装周崛起
回顾中国运动品牌四十年的发展历程,堪称一部从零起步、奋力追赶直至与国际巨头同台竞技的壮丽篇章。新近出版的《鞋帮:中国运动品牌四十年》一书,系统性地梳理了这段跌宕起伏的产业史。该书以李宁品牌和以安踏为核心的晋江系品牌为两大主线,全景式展现了它们如何从本土崛起,最终在全球运动装备市场占据一席之地。 本书
长虹D8S Pro壁画电视六大性能革新 纯平贴墙定义新标准
5月新品季,京东闪电新品发布会迎来重磅主角——长虹壁画电视D8S Pro正式亮相。这款高端旗舰产品,精准洞察并解决了传统壁画电视的几大痛点:机身笨重、需额外加装画框、无法真正实现无缝贴墙。它以“真超薄、真贴墙、真美学”三大核心主张,重新定义了壁画电视的标准,引领行业进入六面纯平、一体贴墙的全新时代。
罗永浩力挺真诚电影创作百亿票房实至名归
5月18日,罗永浩的一番深度点评,让这部2026年的低成本口碑黑马电影《给阿嬷的情书》再次成为网络热议焦点。 他指出,当前网络环境中的公众情绪似乎普遍处于“过载”状态。社交媒体上的任何议题,都极易迅速演变为两极分化的激烈争论,站队、互斥、非此即彼的论战层出不穷,仿佛凡事都必须争出个对错高低。 图源:
广汽昊铂新车预售18.89万起 双腔空悬四驱配置领先同级
5月17日,广汽昊铂旗下新豪华智慧运动SUV——昊铂S600正式揭开了预售序幕。从发布会释放的信息来看,新车一口气推出了纯电660Max、纯电660Max+、增程230Max、增程215四驱Ultra+四个版本。官方预售价定在20 99万至22 99万元区间,而预售权益价则进一步下探到18 89万至
战略落地为何总走样 酷开企业AI操作系统HW AIOS Lite MVP版即将发布
当前,众多企业已完成了基础的信息化建设,拥有清晰的数字化战略蓝图和丰富的工具。然而,一个普遍痛点依然存在:战略口号响亮,实际落地却困难重重;组织内部协同效率低下,内耗严重。 问题的根源在哪里?企业通常不缺战略、工具或决心。真正的瓶颈在于,当战略进入庞大的组织体系,在层层分解、跨部门协同和最终执行的长
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

