5-11讨论题 请问老师我的理解对吗? 还有 闭包影响网页性能的原因是什么?
result() 输出2 因为闭包的特性fn1的闭包内 fn2调用的num1相当于是一个fn1()内的全局变量
numadd() 输出 110 因为numadd前边没有加var 默认为全局变量所以函数外可以获取到
result() 输出3 因为fn2()具有记忆性,记忆了上次修改后的值。
闭包的理解:
js创建一个函数 ,这个函数就是一个闭包,即使你返回 值是一个子函数 这个子函数也会调用原函数里边的变量。
闭包的用处:
闭包具有记忆性质
模拟私有变量的
不能频繁使用闭包,影响网页性能 和 造成内存泄漏
20
收起
正在回答
2回答
同学你好,只有声明的全局变量默认会一直存在,直到关闭页面才会被销毁,而函数内部声明的局部变量,在函数调用结束后,就会自动销毁,但是由于闭包中引用了函数的局部变量,在函数外使用闭包时,局部变量一直被引用,无法自动销毁,会一直占用内存空间,所以会影响网页的性能。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星