0

所以,这就是我需要的:

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

我见过诸如变量赋值如何在 JavaScript 中工作的问题?,像https://stackoverflow.com/a/509614/1117796这样的答案和像http://hpyblg.wordpress.com/2010/05/30/simulating-pointers-in-javascript/这样的帖子。我不想使用对象/哈希/字典或任何你想调用它们的东西。我希望使用包含普通原始值的普通变量来完成此操作。类似于 PHP 的引用赋值:$b = &$a;. 有可能吗?有什么接近它的吗?

4

3 回答 3

0

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

于 2013-08-26T12:08:04.203 回答
0

不,这在 ECMA 脚本 5 中是不可能的。

于 2013-08-26T12:03:01.407 回答
0

不,这不可能在 JavaScript 中传递简单的值作为引用。

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

于 2013-08-26T13:56:45.693 回答