Mootools 是不是 100% 防止 javascript 关闭?
Posted
技术标签:
【中文标题】Mootools 是不是 100% 防止 javascript 关闭?【英文标题】:Does Mootools prevents javascript closure 100%?Mootools 是否 100% 防止 javascript 关闭? 【发布时间】:2011-02-11 18:27:31 【问题描述】:当我和朋友谈论 javascript 闭包时,有人告诉我使用 Mootools 可以 100% 防止闭包。据我所知,变量会导致闭包。 Mootools 本身如何防止 javascript 关闭?我想我的朋友说 Mootools 的函数是闭包安全函数。
有什么建议吗?
【问题讨论】:
你请你的朋友解释一下自己吗?也许你在谈论不同的事情? @Fyodor Soikin // 我认为他有一个想法,即 javascript == mootools,因为他使用 Mootools 开始了 javascript。这就是为什么他说使用 Mootools 本身可以防止 100% javascript 闭包,因为 Mootools 本身确实不做闭包。 @terrani - 它不会阻止它们...它们是非常有用的东西,事实上大多数框架都有特定的上下文闭包创建方法,甚至 Mootools:mootools.net/docs/core/Native/Function#Function:pass mootools 确实在其代码库中大量使用了闭包。此外,为 mootools 编码更经常使您使用闭包,无论是编写一个将所有函数作为方法的类,还是将所有代码粘贴在 domready 匿名函数中。它当然不能阻止它们......我suggest
你首先阅读了闭包......
不过,问题出在哪里?我的观点是,如果你读过关于闭包的文章,你就可以告诉你的朋友,没有任何框架可以阻止它们。不过,您可以 PUNCTURE 闭包,请在此处阅读:appden.com/javascript/puncture-closures
【参考方案1】:
变量不会导致闭包。闭包由函数 A 创建,该函数返回另一个函数 B,该函数引用 A 的一个局部变量。例如,表达式
(功能() 变量 x; 返回 获取:函数()返回x; , 设置:函数(y)返回x=y; ; )();返回一个对象,其中包含两个引用局部变量x
的函数。我们说get
和set
“关闭”x
。
【讨论】:
以上是关于Mootools 是不是 100% 防止 javascript 关闭?的主要内容,如果未能解决你的问题,请参考以下文章
普通的 JavaScript 是不是比使用 jQuery 或 MooTools 等框架更好? [关闭]