所以,这就是我需要的:
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;
。它可能吗?有什么东西靠近它吗?
答案 0 :(得分:0)
不,从ECMAScript 5开始,这是不可能的。
答案 1 :(得分:0)
不可能。这是JavaScript中不允许的一个福音。
答案 2 :(得分:0)
不可能在JavaScript中将简单值作为参考传递。
然而,JavaScript是一种灵活的语言,您可以通过提供将使用相同变量的setter和getter来使用Object.defineProperty
实现类似的东西。这可能适用于global
变量,但是,没有办法完全模仿这种行为。例如,由于您无法获得对函数执行范围的引用,因此您无法为函数内部声明的变量模拟此概念。