为什么我这个箭头函数不访问let呀,输出出来是2
2条回答 默认 最新
- CSDN专家-天际的海浪 2021-07-22 19:50关注
箭头函数内没有自己的this。如果在箭头函数内使用this,访问的是外层函数的this。在箭头函数外是全局环境,箭头函数内this的值是window对象
箭头函数内this.name就是window.name
你window.name = 2;自然输出2为什么不访问let
因为let是块作用域变量,与window全局作用域不是同一个作用域。
比如window.name = 2;
let name = 3;
console.log(name); //输出3。它是先在当前块作用域中找name变量,找到了就输出name变量,如果当前块作用域中找不到才会到window全局作用域中找
console.log(window.name); //输出2 是直接到window全局作用域中找本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 求恶意流量检测系统搭建教程( C++ python C)
- ¥15 mmseqs内存报错
- ¥15 vika文档如何与obsidian同步
- ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
- ¥15 陆空双模式无人机飞控设置
- ¥15 sentaurus lithography
- ¥100 求抖音ck号 或者提ck教程
- ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
- ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
- ¥15 io.jsonwebtoken.security.Keys