在javascript闭包中访问函数中的局部变量为什么要这样做呢?
发布网友
发布时间:2022-04-19 01:36
我来回答
共2个回答
热心网友
时间:2022-04-19 03:06
主要减少性能损耗。其次,如果出现问题,也好调试。
如果不访问函数的局部变量,那就只能按变量作用域一层层往上找。
有可能找到,也有可能找不到。
所以为了,减少性能损耗,都是访问函数内部的局部变量。
热心网友
时间:2022-04-19 04:24
有些写法,当函数运行完后,执行环境被销毁,实际上得到的只是n这个值,之后也无法再获取到当时函数执行时执行环境中的变量。
而有些写法,因为返回的是函数,所以函数的执行环境不会被销毁,根据作用域链的原理,可以使用返回的这个函数访问它的执行环境中的局部变量,而外层函数的执行环境也会保留。