重写或扩展JavaScript中的闭包函数

重写或扩展JavaScript中的闭包函数,javascript,closures,overriding,Javascript,Closures,Overriding,只是想知道重写闭包函数的行为 e、 g.如何覆盖下面代码段中的baz()函数 (功能(){ })() 如果在闭包外部,则无法重写闭包内部的baz()函数。闭包提供了私密性,它适用于局部函数,就像它适用于局部变量一样 如果您在闭包中,则可以在闭包中定义新版本的baz(),或在baz()中编辑代码 相关问题:您能澄清一下您的意思吗?是否要编辑上述闭包以实现某些功能?或者你想从代码之外修改它吗?顾名思义,“closure”是一个封闭的东西。您无法从外部访问其中的任何内容。您可以通过添加一个全局变量来实

只是想知道重写闭包函数的行为

e、 g.如何覆盖下面代码段中的baz()函数

(功能(){

})()


如果在闭包外部,则无法重写闭包内部的
baz()
函数。闭包提供了私密性,它适用于局部函数,就像它适用于局部变量一样

如果您在闭包中,则可以在闭包中定义新版本的
baz()
,或在
baz()中编辑代码


相关问题:

您能澄清一下您的意思吗?是否要编辑上述闭包以实现某些功能?或者你想从代码之外修改它吗?顾名思义,“closure”是一个封闭的东西。您无法从外部访问其中的任何内容。您可以通过添加一个全局变量来实现一些技巧,该变量提供对函数和变量的访问,但这是毫无意义的。感谢您的回复。但是以这种方式使用闭包有什么好处呢?如果我使用某个外部库,并且该库是以这种方式编写的(使用闭包函数),我必须重写/扩展某些功能,该怎么办?库编写器以这种方式编写代码,因为它允许他们创建可以使用的变量,而不是全局变量(因此它们不会污染全局名称空间或与其他任何内容冲突),但对其代码可用,并且因为它使它们成为私有的,因此它们不能被外部代理修改。那么,扩展该库功能的方法是什么。在该特定库中添加自定义逻辑不是一件好事,因为当您将其升级到新版本时,您将丢失自定义工作。
    var foo = 'Hello';
    var bar = 'World!'

    function baz(){
        return foo + ' ' + bar;
    }