如果我想发布一个名为Myfunc
的功能
什么是实现这一任务的最佳方式?
_emptyFunc=function(){}
答案 0 :(得分:1)
希望有所帮助。
答案 1 :(得分:1)
_emptyFunc
时{p> null
可以调用TypeError
:
js> _emptyFunc=function(){}
(function () {})
js> _nullFunc=null;
null
js> _emptyFunc()
js> _nullFunc()
typein:5: TypeError: _nullFunc is not a function
因此,使用no-op函数的优点是,您可以无条件地调用它,而不必检查它是否为null / undefined,甚至可能测试它是否可调用。
使用null
或undefined
的优势在于,您的代码可以避免在传递回调时仅执行必要的操作。
如果您实际上计划允许JS引擎释放之前存储在变量中的任何函数所使用的内存,请将其设置为null
。分配一个不同的函数也将删除(可能)函数的最后一个引用,从而允许GC收集它,但你也有一个显然也使用一些内存的新函数。
答案 2 :(得分:1)
将MyFunc设置为null,如果没有更多可访问的引用,则会导致GC收集Function对象。一般来说,你不需要这样做。