众所周知,在某些语言中(最着名的例子是javascript),默认情况下变量是全局范围的。这意味着如果想要声明局部变量,他应该写var, local, my
或其他什么。
我从来没有想过这个的实施成本,但事实证明它不仅仅是传统问题。例如,选中this链接。我的问题是 - 默认情况下,本地默认的默认架构比全局范围更昂贵。只是有点,不知道,事先选择排序需要的交换少于bubblesort,就这样“预先”。
此外,如果有人会编辑此问题以添加适当的标签,我将不胜感激。我只是不知道哪一个更合适。
答案 0 :(得分:3)
可以找到Lua语言更好(默认为本地或默认为全局)的某些要点的摘要on this wiki page。也许默认情况下都不是最好的答案,但我们程序员想要节省一些打字;)
来自维基页面的一些引用:
答案 1 :(得分:2)
在编译时,默认本地和默认全局的成本是相同的。当您找到尚未看到的名称时,您仍然必须完全遍历所有活动局部变量的列表。在运行时,通常可以更快地访问局部变量。