JS的函数内部变量及作用域是在函数定义时就占用内存了吗?还是在函数调用时占用内存?
JS只要定义了函数,不执行,并且不将函置为null,该函数内部变量就永远在内存中吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
JS只要定义了函数,不执行,并且不将函置为null,该函数内部变量就永远在内存中吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
no。
每次执行创建一个上下文执行环境,当前次执行时的变量存在于当前上下文执行环境中,若无外部引用,函数执行完之后内部变量会被释放掉。
我认为不会有这样的语言吧,定义时就占用内存?你代码都还没执行
函数的内部变量是在函数执行的时候才会存在的,也就是
函数作用域
吧。在函数执行完之后,所有的内部变量都会被销毁。
永远存在内存中就是闭包引起的内存问题了,会将内部变量一直保存在变量中,只能手动销毁。