gpt4 book ai didi

javascript - 你如何在javascript中给变量引用?

转载 作者:搜寻专家 更新时间:2023-11-01 05:26:28 24 4
gpt4 key购买 nike

我想在 javascript 中提供变量引用。

比如我想做的:

a=1
b=a
a=2

令b=2,相应地改变为a。

这在 javascript 中可行吗?如果不是,有没有办法像 a.onchange = function () {b=a} 那样做?

我想做的是创建一个像 makeobject 这样的函数,它创建一个对象并将它放入一个数组中,然后像这样返回它

function makeobject() {
objects[objects.length] = {blah:'whatever',foo:8};
}

我做不到

a=makeobject()
b=makeobject()
c=makeobject()

稍后在代码中做

for (i in objects) {
objects[i].blah = 'whatev';
}

同时改变a,b,c的值

最佳答案

您可以使用在大多数浏览器中运行良好的新对象字面量语法来解决这个问题。

var o = {
_a : null,
get a() { return this._a; },
set a(v) { this._a = v; },
get b() { return this._a; },
set b(v) { this._a = v; }
};

o.a = 2;
o.b = 3;
o.a = 4;
alert(o.b); // alerts 4

另一种选择是创建您自己的引用对象。

function Ref(obj, name, otherName) {
this.obj = obj;
this.name = name;
this.otherName = otherName;
}

Ref.prototype.assign = function (v) {
this.obj[this.name] = this.obj[this.otherName] = v;
}

var o = {
a : 1,
b : 4
};

var ref = new Ref(o, 'a', 'b');
ref.assign(3);

alert(o.b);

关于javascript - 你如何在javascript中给变量引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4653349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com