5-11讨论题 请问老师我的理解对吗? 还有 闭包影响网页性能的原因是什么?

5-11讨论题 请问老师我的理解对吗? 还有 闭包影响网页性能的原因是什么?

  result()  输出2  因为闭包的特性fn1的闭包内  fn2调用的num1相当于是一个fn1()内的全局变量 

  numadd() 输出 110  因为numadd前边没有加var 默认为全局变量所以函数外可以获取到

  result() 输出3 因为fn2()具有记忆性,记忆了上次修改后的值。


闭包的理解:

js创建一个函数 ,这个函数就是一个闭包,即使你返回 值是一个子函数 这个子函数也会调用原函数里边的变量。



闭包的用处:

闭包具有记忆性质

模拟私有变量的


不能频繁使用闭包,影响网页性能 和 造成内存泄漏


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,只有声明的全局变量默认会一直存在,直到关闭页面才会被销毁,而函数内部声明的局部变量,在函数调用结束后,就会自动销毁,但是由于闭包中引用了函数的局部变量,在函数外使用闭包时,局部变量一直被引用,无法自动销毁,会一直占用内存空间,所以会影响网页的性能。

祝学习愉快~

好帮手慕慕子 2021-04-14 17:03:00

同学你好,对于你的问题解答如下:

1、其他的理解都是对的。只有对于闭包的理解有些不准确,并不是说js中创建一个函数,这个函数就是闭包,而是在一个函数A中创建一个函数B,B函数中使用了A函数中的局部变量,函数A中使用return将B函数返回出去,在函数A外使用一个变量接收函数B,我们将这里的函数B称之为闭包。示例:

http://img1.sycdn.imooc.com//climg/6076ae4609fa6c2a05040327.jpg


2、因为闭包导致函数的变量一直存在,无法被程序自动销毁,一直占用着内存空间,所以会影响网页的性能。

祝学习愉快~

  • 提问者 TheRoo #1

    闭包导致函数的变量一直存在? 不是所有的变量一旦声明了 他就存在啊

    2021-04-15 20:40:44
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师