2012-02-15 45 views

回答

5

它定义函数的范围是脚本范围。请参阅:help about_scopes

+0

但是,当我使用点源时,为什么仍然可以从我的脚本中调用它? – chrissie1 2012-02-15 15:29:51

+0

我猜那个外部脚本然后成为我的脚本的一部分,因此仍然在脚本范围内。 – chrissie1 2012-02-15 15:35:24

+3

正确,点源将脚本带入当前范围。 – Rynant 2012-02-15 15:39:25

4

这是一种在特定范围(使用范围修饰符)创建函数的方法。以此为例:

function outer { 
    ... 
    function inner { ... } 
} 

在上面的示例中,函数inner仅在外部函数(local scope)内可用。如果你想在全局范围内创建内部结构,那么当你的脚本完成时,内部函数仍然可用?您可以使用范围修改:

function outer { 
    ... 
    function global:inner { ... } 
} 

检查参阅about_Scopes帮助文件,了解更多信息