立即调用函数表达式的意义是什么?它在功能上确实做了同样的事情。.有什么区别?
答案 0 :(得分:2)
它们通常用于控制变量的范围或利用闭包。例如,这不需要全局计数器变量在范围内。 class DraftailRichTextArea(widgets.HiddenInput):
...
def __init__(self, *args, **kwargs):
# note: this constructor will receive an 'options' kwarg taken from the WAGTAILADMIN_RICH_TEXT_EDITORS setting,
# but we don't currently recognise any options from there (other than 'features', which is passed here as a separate kwarg)
kwargs.pop('options', None)
self.options = {}
对功能是私有的。因此,在这种情况下,它与普通函数的功能不同–除非您依赖函数外部的变量,否则就不能使用普通函数来完成此操作,该变量可以在函数外部更改。
c