作为参数传入setInterval的箭头函数,其内部变量可以被追踪到?
javascript吧
全部回复
仅看楼主
level 7
从入门☞放弃
楼主
这里变量cycle,如果打印,第一次是1,但是随后隔120毫秒后再次调用setInterval时这里cycle不应该变成了undefined的么?为啥可以记录追踪到它的上一次的值?不懂
2023年05月30日 04点05分
1
level 7
沉冰浮水
关键词:「闭包」
闭包(closure)是一个函数以及其捆绑的周边环境状态(lexical environment,词法环境)的引用的组合。换而言之,闭包让开发者可以从内部函数访问外部函数的作用域。在 JavaScript 中,闭包会随着函数的创建而被同时创建。
2023年05月30日 06点05分
2
level 1
贴吧用户_5X14UX9
js作用域层层嵌套 如果第二次访问不到cycle 那为什么第一次可以?
2023年05月30日 11点05分
3
从入门☞放弃
第二次只是调用了箭头函数内部的setInterval,没有调用箭头函数,所以访问不到let cycle?
2023年05月30日 11点05分
贴吧用户_5X14UX9
@从入门☞放弃
箭头函数可以是没有this的普通匿名函数!(当然不只是这样)如果换成function(){}一样可以的
2023年05月31日 11点05分
从入门☞放弃
@贴吧用户_5X14UX9
谢谢,楼上说了是闭包的缘故
2023年05月31日 11点05分
1