JS中关于this指向得一道经典面试题
发布日期:2021-05-10 11:38:56 浏览次数:14 分类:精选文章

本文共 423 字,大约阅读时间需要 1 分钟。

以下是对问题的解析:

(1) 首先,var db1 = obj.db1; 这一行代码是将 obj.db1 赋给 db1。然后,db1() 会执行里面的匿名函数。

(2) 公 شناسی:匿名函数会先修改 window.number

(3) 因此,当执行 db1() 的时候,会将当前的 number 值乘以4,结果变成8。

(4) 然后,执行完匿名函数后,会返回另一个函数。虽然返回的函数没有立即执行,但 window.number 此时的值已经是8。

(5) 接下来,调用 db1() 还会再次执行匿名函数,当前的 number 会再次被乘以5,因此最终结果会是40。

(6) 关于 obj.db1(),它是从 obj 对象中获取的函数,且此时 number 的值为3,因此会先乘以4得到12,再乘以5得15。

(7) 最后,window.number的原始值是2,它在两次执行中都会被修改,共计获得的值是2→4→8→40。


最终答案是40。

上一篇:js将多维数组变成一维数组
下一篇:前端每日面试题---------关于浏览器的内核

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月03日 04时18分30秒