this指向面试题
this指向与函数所在的执行上下文有关,指向函数的调用者。在window下调用函数就指向window,在对象终调用函数就指向对应的对象。
一个小习题可以帮助理解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <script> // var num = 10; let num =10 //let 定义不会变量提升,不会变成window下的属性,24行运行结果就是undefined,var定义会将变量提升为window的属性,24行打印就是10 let obj = { num: 20, run: function () { console.log( this .num); // this.num = 30; }, }; obj.run(); //this是obj let {run} = obj; run() //this是window console.log(num); //打印的是window下的num console.log(obj.num); </script> |
本文作者:ZihangChu
本文链接:https://www.cnblogs.com/SadicZhou/p/16745353.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步