gpt4 book ai didi

javascript - JavaScript 中的 "Variable"变量

转载 作者:IT王子 更新时间:2023-10-29 02:44:17 25 4
gpt4 key购买 nike

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

$x = "variable";
$$x = "Hello, World!";
echo $variable; // Displays "Hello, World!"

在 JavaScript 中是否可以通过变量名作为字符串来引用变量?如何实现?

最佳答案

长话短说:Don't use eval!

对此没有单一的解决方案。可以通过window 动态访问一些 全局变量,但这不适用于函数的局部变量。 不会成为window属性的全局变量是用letconst定义的变量,以及es.

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

如果你有一组固定的名字,比如

// BAD - DON'T DO THIS!!!
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 - DON'T DO THIS!!!
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/5187530/

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