3
A
回答
7
这是没有道理的。没有。
+0
感谢大家的回复。我不认为这个说法有任何真实性,但是我今天一直在想它,并且在网上找不到任何东西。再次感谢。 – user1265617 2012-04-12 21:45:29
3
号
Standard ECMA-262 ECMAScript Language Specification从(12.9):
语法
ReturnStatement:
return ;
return
[无LineTerminator这里] 表达;
[...]答
return
语句导致函数停止执行,并返回一个值给调用者 。如果Expression
被省略,返回值是undefined
。否则,返回值是表达式的值。
但事实恰恰相反:return
语句可以防止内存被释放。
从Functions and function scope - MDN # Preservation of variables:
function outside(x) {
function inside(y) {
return x + y;
}
return inside;
}
fn_inside = outside(3);
result = fn_inside(5); // returns 8
result1 = outside(3)(5); // returns 8
通知时,返回
inside
x
是如何保存下来。闭包必须保留它引用的所有作用域中的参数和变量。由于每个调用都提供了可能不同的参数,因此每次调用outside
时都会创建一个新的闭包。只有当返回的inside
不再可访问时,内存才能被释放。
相关问题
- 1. oracle总行列明智吗?
- 2. 功能与未来的返回类型总是返回无
- 3. Textbox.Text.GetTypeCode()总是返回“string”吗?
- 4. canPlayType总是返回可能吗?我错过了什么吗?
- 5. 总是返回一个声明
- 6. 如果声明总是返回True
- 7. MySQL - 明智吗?
- 8. 返回值0总是在存储过程中成功吗?
- 9. PendingResult.setResultCallback()总是返回statusCode成功
- 10. Php + sql语句总是返回成功?
- 11. 总是重定向到https很明智吗?
- 12. linq2sql表达式总是返回IQueryable吗?
- 13. COUNT(*)总是返回结果吗?
- 14. 返回值总是暂时的吗?
- 15. GetBodyCount()在Box2d中总是返回0吗?
- 16. RInterface.GetArrayToVBA()总是返回一个数组吗?
- 17. allocate_id总是返回正值吗?
- 18. is_logged_in功能总是返回false为http://domain.com/wordpress
- 19. 的Zlib调用deflateInit功能总是返回Z_MEM_ERROR
- 20. 。当我通过任何输入总是功能返回false
- 21. document.getElementById对于功能区总是返回“null”
- 22. 布尔功能问题 - 总是返回true?
- 23. 后期绑定C++ DLL到C# - 功能总是返回true
- 24. 我的功能总是在第一次返回false
- 25. 明智的单元测试可能吗?
- 26. 返回C功能
- 27. 功能返回null
- 28. c#返回功能
- 29. 从BigInteger转换为int是明智吗?
- 30. Hazelcast总是返回null,containsKey总是返回false
函数总是返回,无论你是否使用'return'语句。添加'return'语句将不会清除内存或变量。 – 2012-04-12 21:13:39