【发布时间】:2012-12-18 18:55:18
【问题描述】:
所以这是我第一次在更强大的环境中使用 Javascript,拥有一个胖客户端并通过 javascript 本身完成大部分繁重的工作。我正在使用 jQuery,现在很多代码都变得很混乱,因为它只是一堆函数。
对于我的一些函数,我需要通过多个函数传递变量,并保持它们的值。这样做的明显方法是将它们声明在函数范围之外,然后让函数以它应该的方式对其进行操作。 (这些变量是对象而不是原始类型,所以我猜 javascript 是通过引用传递的,这是可行的)。
例如,我可能有这样的事情
var node = //init with some value;
$(document).ready(setup);
function setup()
{
A();
B();
}
function A()
{
// operate on var node
}
function B()
{
// operate on var node
}
这显然是我的代码的缩小版本,但捕获了我处理全局变量的方式。我的问题是,有没有更优雅的方式来完成上述操作?
谢谢
【问题讨论】:
-
“这些变量是对象而不是原始类型,所以我猜 javascript 是通过引用传递的,这是可行的” 由于您实际上并没有传递变量,它是做什么的重要吗?
-
其实JS不是通过引用传递对象,而是通过“引用的副本”传递的
标签: javascript global-variables software-design