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 分钟前
uni-app D3实战(小兔仙)
前端
嬉皮客13 分钟前
Gird布局详解
前端·css
烛阴14 分钟前
C#常量(const)与枚举(enum)使用指南
前端·c#
Wect17 分钟前
学习React-DnD:实现多任务项拖拽-useDrag处理
前端
mucheni24 分钟前
迅为RK3568开发板OpeHarmony学习开发手册-修改应用程序名称
linux·前端·学习
WebGirl27 分钟前
SSE服务
前端
Mintopia32 分钟前
🛰️ 低带宽环境下的 AIGC 内容传输优化技术
前端·人工智能·trae
h***346338 分钟前
Nginx 缓存清理
android·前端·后端
Mintopia1 小时前
⚡Trae Solo Coding 的效率法则
前端·人工智能·trae
wa的一声哭了1 小时前
WeBASE管理平台部署-WeBASE-Web
linux·前端·网络·arm开发·spring boot·架构·区块链