J*aScript中this指向由调用上下文决定,遵循四条绑定规则:new绑定>显式绑定>隐式绑定>默认绑定;隐式绑定易因函数提取而丢失this;bind绑定可被new覆盖;箭头函数无this,继承外层词法作用域;默认绑定在严格模式下为undefined。

J*aScript 中的 this 指向谁,不取决于函数定义的位置,而取决于**函数调用时的上下文**。它有四条核心绑定规则,优先级从高到低是:new 绑定 > 显式绑定(call/apply/bind)> 隐式绑定(对象方法调用)> 默认绑定(独立调用)。容易出错的地方,往往就藏在这几条规则的交界或特殊场景里。
当一个本该作为对象方法被调用的函数,被“提取”出来单独使用时,this 就会丢失,退回到默认绑定(非严格模式下是全局对象,严格模式下是 undefined)。
const obj = { name: 'Alice', say() { console.log(this.name); } }; const fn = obj.say; fn(); // un
defined(严格模式)
用 Function.prototype.bind 创建的绑定函数,如果被 new 调用,会忽略 bind 时指定的 this,转而构造新实例——此时 this 指向新生成的对象。这是很多人没意识到的“例外”。
例如:const bound = originalFunc.bind({x: 1}); const inst = new bound(); // this 在 originalFunc 内指向 inst,不是 {x: 1}
this instanceof originalFunc
箭头函数不遵循上述四条绑定规则,它没有自己的 this,而是沿作用域链向上查找,捕获定义时所在函数的 this 值(词法绑定)。这既是优势,也是陷阱。
芝士饼
芝士饼是一个一站式AI原生应用开发平台,简单几步即可完成应用的创建与发布。
92
查看详情
立即学习“J*a免费学习笔记(深入)”;
const obj = { name: 'Bob', log: () => console.log(this.name) }; obj.log(); // undefined(因为外层 this 不是 obj)
函数独立调用(如 foo())时,若没被任何规则捕获,就进入默认绑定。这个行为在两种模式下完全不同:
this.name → Cannot read property 'name' of undefined)基本上就这些。掌握这四条规则和它们的冲突点,再配合 Chrome DevTools 的 debugger 和 console.log(this),就能稳住 this 的指向。不复杂但容易忽略细节。
以上就是j*ascript的this指向谁_它的绑定规则有哪些容易混淆的地方?的详细内容,更多请关注其它相关文章!
# react
# javascript
# 如何实现
# 模式下
# 芝士
# 绑定
# 作用域
# win
# app
# 浏览器
# node
# java
# 淄博页面seo推广
# 贵溪网站开发建设
# 四条
# 长春seo助手打造店铺
# 天河手机网站推广哪家好
# 一台服务器放多少网站不利于优化
# 回调
# 报错
# 隐式
# 有哪些
# 自己的
# seo指标
# 济南营销网络推广代理商
# 海南seo服务
# 中国seo系统代理项目平台
# 一站式网络推广营销
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
Win11如何分屏操作_Win11多窗口分屏技巧
Lar*el怎么实现全文搜索_Lar*el Scout集成Algolia教程
J*a中导出MySQL表为SQL脚本的两种方法
更换小红书群背景怎么换?小红书群规则怎么设置?
《画加》约稿流程
电脑开不了机怎么办 电脑无法开机的解决方法
哔哩哔哩黑名单怎么查看
钉钉任务无法提醒如何处理 钉钉任务提醒优化方法
word页码灰色不能用如何解决
稻壳阅读器官方直达网址链接 稻壳阅读器文档阅读平台主页资源入口
鲨鱼剧场app金币获取方法
电脑“无法访问指定设备、路径或文件”怎么办?五种权限设置方法
优化响应式标题底部边框:CSS实现技巧与最佳实践
如何在CSS中使用伪类选择器_hover实现悬停效果
win11如何运行chkdsk命令 Win11检查和修复磁盘逻辑错误教程【修复】
行者app怎样导出日志
《蓝色星原:旅谣》坐骑获取攻略
微信朋友圈怎么设置三天可见 微信朋友圈设置指定天数可见步骤【教程】
解决Go encoding/json 将JSON大数字解析为浮点数的问题
如何在CSS中清除浮动解决背景颜色不包裹内容问题_clear after技巧
安居客移动经纪人怎么设置自动回复?-安居客移动经纪人设置自动回复的方法
网站体验不好=浪费钱:如何提升-用户体验效果差
C++ static关键字作用_C++静态成员变量与静态函数
《腾讯相册管家》注销账号方法
mysql中如何分析索引使用情况_mysql索引使用分析方法
《百果园》充值余额方法
CDR如何复制交互式填充色
视频号视频怎么提取文案?提取的文案如何优化与使用?
《宝可梦大集结》S4冠军之路开始时间介绍
暴风影音官网正式版_暴风影音手机版官网下载安卓
如何测试您的网站全球打开速度-网站海外测速工
食品生产用水只要符合国家规定的生活饮用水卫生标准就可以吗
vivo云服务一直提示空间不足怎么办 怎么办vivo云服务老是提示空间不足
sublime怎么在文件中显示代码结构大纲_sublime符号列表功能
企查查官网和爱企查 企查查企业查询官网入口
智学网成绩单查询系统网_智学网学生平台登录
太平年在哪个平台播出
Vue 3中独立响应式实例的创建与应用
铁路12306座位怎么选_12306官方选座操作方法
《幻兽帕鲁》手游帕鲁捕捉技巧分享
网页版网易云音乐入口_网易云音乐在线官网登录
《爱笔思画x》涂色教程
感染了幽门螺杆菌一定会导致胃癌吗?蚂蚁庄园今日答案最新11.30
uc浏览器官网网页版使用 uc浏览器官网免费在线首页
《优志愿》修改手机号方法
PPT页面尺寸怎么修改 PPT自定义幻灯片大小与方向设置【教程】
win11怎么更改账户类型 Win11标准用户和管理员权限切换【教程】
《饿了么》拼好饭点外卖教程2025
汽水音乐车机版官网5.0 汽水音乐车机版5.0版本下载入口
Golang如何使用gRPC拦截器实现日志收集_Golang gRPC拦截器日志收集实践
2025-12-18
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。