js箭头函数与普通函数的this指向问题

js箭头函数与普通函数的this指向问题

总结一句话 普通函数的this指向调用者,箭头函数的this指向拥有者。

例子:

js 复制代码
// 常规函数:
hello = function() {
  document.getElementById("demo").innerHTML += this;
}

// window 对象调用该函数:
window.addEventListener("load", hello);

// button 对象调用该函数:
document.getElementById("btn").addEventListener("click", hello);

输出: 普通函数this指向调用者,第一次是window调用,第二次是button调用。

js 复制代码
[object Window]    [object HTMLButtonElement]
js 复制代码
// 箭头函数:
hello = () => {
  document.getElementById("demo").innerHTML += this;
}

// window 对象调用该函数:
window.addEventListener("load", hello);

// button 对象调用该函数:
document.getElementById("btn").addEventListener("click", hello);

输出: 该例子里 箭头函数不论你调用者是谁,拥有者都是window。

js 复制代码
[object Window]     [object Window]
相关推荐
刘卓航众创芯云服务部11 分钟前
Kimi K3复杂任务实测:我把团队最头疼的三个场景全跑了一遍
前端
软件开发技术深度爱好者16 分钟前
小学英语单词魔法学园HTML5实现
javascript·html5·英语学习
勉灬之21 分钟前
Next.js + Prisma 跨平台部署踩坑记
开发语言·javascript·ecmascript
cll_86924189122 分钟前
一个好看的Wordpress博客文字css样式
前端·css·ui
糖果店的幽灵26 分钟前
langgraph分支之 - 动态分支(Dynamic Branch)
java·前端·javascript·人工智能·langgraph
meilindehuzi_a36 分钟前
Workflow 与 Agent 有什么区别:从 LangChain 流水线到智能体决策
前端·人工智能
三翼鸟数字化技术团队38 分钟前
一种前端大屏适配方案
前端·css
这是个栗子44 分钟前
前端开发中的常用工具函数(九)
开发语言·javascript·ecmascript·at
程序员黑豆1 小时前
鸿蒙应用开发:ForEach 循环渲染用法详解
前端·harmonyos
亿元程序员1 小时前
90%的Cocos开发者不知道,插件还能这么玩!
前端