<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />所以,只是一些语法糖。
如果有与为函数声明局部变量相反的做法,那就太好了。
即代替:
例子=功能({ A , b } , { C , d ,电子, F , G , H ,我, j , k ,升,米, n , o , p , q , r ,秒,吨,你, v , w } ,
C = A + b ;
d = C + A ;
//...
X = v + w ;
是= X + b ;
) ;
打印( X ,是) ;
我可以写:
例子=功能({ A , b } , {默认本地, X ,是} ,
C = A + b ;
d = C + A ;
//...
X = v + w ;
是= X + b ;
) ;
打印( X ,是) ;
local:x 如果你更愿意在运行中显式地定义范围,那么同样适用。
F =功能({} , {} ,
X = “替换了全局范围” ;
当地的: X = “功能范围x” ;
当地的:是= “功能范围y” ;
打印( :: X ,当地的: X ,是) ;
) ;
F () ;
由于未定义范围的变量的范围规则,您必须记住显式调用 ::x。

我以前从未使用过 here:x,但该语法完全有意义。谢谢!
我一直在函数中使用显式局部变量。我想我会在我的下一个项目中尝试 Default Local。
我想如果你确定所有的范围,你可能会得到你想要的.. 如果我没有关注,请纠正我,但是......例如
::x= “全球范围” ;
::y= “全球范围” ;
名称默认为此处( 1个);
x= “这里的范围” ;
y= “这里的范围” ;
打印(::x, 这里:x, ::y, 这里:y);
f =功能({},{默认本地},
这里:x= “这里的范围被替换” ;
:: x = “替换了全局范围” ;
x = “功能范围x” ;
y = “功能范围y” ;
打印(此处:x,::x,x,y);
);
F();
打印(x, y); // 将是分配给这些变量的任何内容这里命名空间。
打印(::x, ::y); // 将是分配给这些变量的任何内容全球命名空间。
// 无法访问本地变量(实际上是本地点)。