我想知道以下PowerShell脚本中变量$crazy
的范围:
function Test1 {
Write-Host $crazy
}
function Main {
$crazy = Read-Host "Type anything"
Test1
}
Main
我希望$crazy
仅在Main
函数中可见,但令我惊讶的是,函数Test1
能够访问它。我可以保证我的PS会话中没有先前声明的$crazy
变量。
我说实话我并不完全了解about_scope所以我使用ISE来调试脚本并使用以下模式$<scope>:$crazy
测试变量的范围,并且变量甚至没有出现在每个范围内我用过。
答案 0 :(得分:2)
在这种情况下,$crazy
的范围限定为Main函数,因此它在Main
内可用,因此可用于Main
调用的任何函数。如果您尝试从$crazy
以外的地方拨打Main
,则会发现它尚未设置。这有帮助吗?