由于闭包以及稍后通过其封闭变量来调用函数的功能似乎对javascript的功能是一大优势,因此我发现自己一直在使用以下构造:
var func;
func = function (args) {return function (moreArgs) {
Do something;
};};
这是正常的javascript编程,还是以这种方式实现所有功能有问题/陷阱?我没有看到任何缺点,并且该模式始终利用闭包的潜在好处来设置函数...并具有将其传递并稍后执行的能力。
需要关闭时,可以这样调用两次:
func()(parms);
...但是那是罕见的情况。
这似乎在每种情况下都可以正常工作。这是应该在Javascript中设置函数的方式还是过度使用闭包?这种方法似乎没有任何实质性的缺点。
您试图做的是某种称为函数currying的函数。但是同样有“ sort of”一词。如果您有兴趣,这将指导如何正确进行操作。
尝试在需要时完全使用闭包。因为如果您不知道自己在做什么,关闭可能会导致严重的内存泄漏。而谷歌优化说
创建闭包比创建不带闭包的内部函数要慢得多,并且比重用静态函数要慢得多
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句