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]
相关推荐
妙码生花3 分钟前
从 PHP 到 AI + Golang,程序员自救转型手记(五十一):管理员和角色组的关联
前端·后端·ai编程
ThsPool4 分钟前
【ENVI二次开发学习整理 04】ENVI功能扩展与二次开发
java·前端·javascript
犀利的毛豆豆10 分钟前
vue和react的响应式有什么区别?
前端
因_崔斯汀10 分钟前
Three.js扩散波纹动画实现
前端·three.js
南雨北斗11 分钟前
vue3 下拉菜单
前端
赤壁小虾17 分钟前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
Bigger33 分钟前
我给 Han Design 做了 6 套很值钱的中国风配色主题
前端·设计·视觉设计
幸福摩天轮1 小时前
function Calling工具系统怎么实现
前端
Jul1en_2 小时前
【Claude Code Compact】源码级别的学习上下文压缩
java·前端·学习·github·ai编程
windliang2 小时前
Claude Code 源码分析(五):一次 Tool 调用怎样通过权限检查
前端·人工智能·面试