在JavaScript中通过引用分配变量(不是对象属性)的另一种变量的值的任何方法?

时间:2013-08-26 11:59:51

标签: javascript variables variable-assignment

所以,这就是我需要的:

var a = 5;
var b = a;
a = 6;
alert(b) // I want this to alert 6 not 5

我见过How does variable assignment work in JavaScript?之类的问题,https://stackoverflow.com/a/509614/1117796之类的答案以及http://hpyblg.wordpress.com/2010/05/30/simulating-pointers-in-javascript/之类的帖子。我不想使用对象/哈希/词典或其他任何你想要的东西。我希望用包含普通原始值的普通变量完成此操作。类似于通过引用的PHP分配:$b = &$a;。它可能吗?有什么东西靠近它吗?

3 个答案:

答案 0 :(得分:0)

不,从ECMAScript 5开始,这是不可能的。

答案 1 :(得分:0)

不可能。这是JavaScript中不允许的一个福音。

答案 2 :(得分:0)

不可能在JavaScript中将简单值作为参考传递。

然而,JavaScript是一种灵活的语言,您可以通过提供将使用相同变量的setter和getter来使用Object.defineProperty实现类似的东西。这可能适用于global变量,但是,没有办法完全模仿这种行为。例如,由于您无法获得对函数执行范围的引用,因此您无法为函数内部声明的变量模拟此概念。