老师a()调用一次后里面的东西全部销毁,b怎么调用a内部的

老师a()调用一次后里面的东西全部销毁,b怎么调用a内部的

正在回答 回答被采纳积分+1

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

3回答
怎么都被占用了呢 2018-04-11 12:02:11

不是的呀,调用a时候,b只是被定义,没有被调用呢,但是a创建了一个作用域,b在a的作用域中。

怎么都被占用了呢 2018-04-11 11:54:00

这就是闭包的作用呀。b是在a形成的作用域中,调用b函数,是要执行b的函数体,当然可以访问a里面的值了。

  • 提问者 慕粉3125272 #1
    意思就是在调用a的同时,调用b
    2018-04-11 11:55:20
怎么都被占用了呢 2018-04-11 11:13:05

一般情况下,函数执行形成一个私有的作用域,当执行完成后就销毁了->节省内存空间。但是也有作用域不被销毁的情况,例如闭包的这种情况。所以b调用的时候,还是能访问到a里面的i变量的。

  • 提问者 慕粉3125272 #1
    关键是b是a内部的,为啥b可以在外部透过a访问调用n内部的b呢?
    2018-04-11 11:21:49
  • 老师a里面的变量是一直不被销毁,还是把b调用完之后在销毁的啊? 闭包这种情况下函数的作用域一直存在内存中?
    2018-04-16 12:00:48
  • 通过闭包,不止可以读取函数内部的变量,还可以让这些变量的值始终保持在内存中。 所以在b调用完之后,不会被销毁的
    2018-04-16 14:34:13
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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