采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
例如课中的例子
// 函数作为返回值 function create() { const a = 100; return function () { console.log(a); } } const fn = create(); const a = 200; fn(); // 100
没明白你的意思。函数就是函数,没有“闭包函数”这一说,都是普通函数。
要不然,你把 create 函数去掉,直接让 a 裸露为全局变量?这样可以吗?
Sorry,我没表达清楚我的意思,后来我又仔细的想了想。 我的问题是: 1.由于闭包的使用可能会产生内存的大量占用,那么如何消除闭包才能避免这种情况呢? 2.有没有通用的方法?或者是需要针对不同的场景特定修改?
闭包会产生内存占用,这是现象。但为啥你要用闭包呢?不用闭包不行吗?—— 那肯定是不行,用闭包肯定是需求和设计决定的。所以,最终是需求决定的内存占用。 所以,没有啥通用的方法,能满足:既完成需求、又不占用内存。没有。
OK,谢谢老师~
就是有的需求不用闭包实现不了,所以才有闭包。
也就不存在把闭包改成不用闭包的情况
说到点子上了
登录后可查看更多问答,登录/注册
针对时下面试高频考点,帮助新人js面试快速通关
1.6k 17
1.8k 11
1.3k 11