gpt4 book ai didi

javascript - Javascript中的“Variable”变量?

转载 作者:行者123 更新时间:2023-12-03 12:36:50 24 4
gpt4 key购买 nike

我知道在PHP中可能有“变量”变量。例如

$x = "variable";
$$x = "hello, world!";
echo $variable; // displays "hello, world!"

是否可以在javascript中将变量的名称引用为字符串?怎么做?

最佳答案

对此没有单一的解决方案(嗯,有eval,但是请不要认真考虑)。可以通过window动态访问一些全局变量,但这不适用于函数本地的变量。不会成为window属性的全局变量是使用letconst以及class es定义的变量。

几乎总是比使用可变变量更好的解决方案! 相反,您应该查看data structures并为您的问题选择正确的语言。

如果您有一组固定的名称,例如

// BAD
var foo = 42;
var bar = 21;

var key = 'foo';
console.log(eval(key));


将这些名称/值存储为 对象的属性,并使用方括号表示法动态查找它们:

// GOOD
var obj = {
foo: 42,
bar: 21,
};

var key = 'foo';
console.log(obj[key]);


ES2015 + 中,使用简洁的属性表示法对现有变量执行此操作更加容易:

// GOOD
var foo = 42;
var bar = 21;
var obj = {foo, bar};

var key = 'foo';
console.log(obj[key]);



如果您有“连续”编号的变量,例如

// BAD
var foo1 = 'foo';
var foo2 = 'bar';
var foo3 = 'baz';

var index = 1;
console.log(eval('foo' + index));


那么您应该改为使用 数组,而只需使用索引即可访问相应的值:

// GOOD
var foos = ['foo', 'bar', 'baz'];
var index = 1;
console.log(foos[index - 1]);

关于javascript - Javascript中的“Variable”变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66640773/

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