首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何避免在JavaScript中使用闭锁时射中自己的脚

如何避免在JavaScript中使用闭锁时射中自己的脚
EN

Software Engineering用户
提问于 2011-04-28 13:07:26
回答 3查看 472关注 0票数 3

闭包特性在JavaScript中得到了广泛的应用,这给使用非闭包语言编程的程序员带来了很大的困难。那么,使用闭锁的最佳实践是什么,以及如何避免射中自己的脚。

EN

回答 3

Software Engineering用户

发布于 2011-04-28 14:31:15

在我看来,如果你不需要的话,最好的避免使用酷语言功能的方法就是不要使用它。

找出闭包可以为您做什么,以及它们是如何常用的,并坚持使用标准模式,除非您真的需要(不想)将它们用于其他方面。

如果你只想使用它们(例如,学习它们),那么在你自己的游戏项目上去做。

票数 6
EN

Software Engineering用户

发布于 2012-01-21 20:11:39

理解闭包是什么

  • 闭包是一个第一类函数,它捕获其环境中的词法绑定。这将防止垃圾收集器释放空间,直到所有对闭包的引用都消失。

理解闭包将如何增长

  • 您可以轻松地创建带有闭包的内存泄漏,因为分配给内存的唯一接口是通过闭包(通常)。你应该确保你的闭幕式不会无限膨胀。

注意捕获引用

  • 这是更多的标准理解,但在处理闭包时就更重要了。闭包将捕获词汇变量,包括包含引用的变量。这意味着,不管这些引用指向什么,只要闭包在附近,它们就会继续存在,除非它们是明显的弱引用。

--不要关闭变量--不需要关闭

  • 这是一种浪费,错误的代码,使您更有可能引入内存泄漏。

使将成为闭包的函数尽可能简单,

  • 函数越大、越复杂,就越有可能出现可能导致内存泄漏的bug。

当不需要

时,不要创建闭包

  • 见:常识
票数 4
EN

Software Engineering用户

发布于 2011-04-29 01:59:56

一般来说,你可以避免通过以下方式射中自己的脚:

  1. 充分理解闭包内容的范围和执行上下文
  2. 了解关闭时值和对象引用的行为。
  3. 准确地了解何时计算闭包中的内容,特别是在使用此关键字或在闭包中使用eval语句(即闭包创建时间与执行时间)等情况下。

使用闭包,找出它们是如何工作的,然后您就可以自信地使用它们,并获得预期的结果。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/72076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档