我知道在PHP中可能有“变量”变量。例如
$x = "variable";
$$x = "hello, world!";
echo $variable; // displays "hello, world!"
是否可以在JavaScript中将变量的名称引用为字符串?怎么做?
对此没有单一的解决方案(当然,有eval
,但是请不要认真考虑)。可以通过来动态访问 一些 全局变量window
,但这不适用于函数本地的变量。
不会 成为属性的全局变量是window
使用let
和const
和定义的变量class
。
几乎总是比使用可变变量更好的解决方案!
相反,您应该查看数据结构并为您的问题选择正确的结构]。
如果您有一组固定的名称,例如
// 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]);
主要内容:1. 变量的命名规则,2. 定义变量,3. 为变量赋值,4. 变量提升,5. let 和 const 关键字变量是所有编程语言的基础之一,可以用来存储数据,例如字符串、数字、布尔值、数组等,并在需要时设置、更新或者读取变量中的内容。我们可以将变量看作一个值的符号名称。 1. 变量的命名规则 在 JavaScript 中,变量名称并不能随便定义,需要遵循标识符的命名规则,如下所示: 变量名中可以包含数字、字母、下划线、美元符号; 变量名中不能出现汉字; 变量名中不能包含空格; 变量名不能
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。 变量就是存放一些内容的容器。 对于初学者,理解变量是重要的一环。 从分析变量这个名词,可以知道他是一个可以改变的量,这里的量就是代表某一种值。 在 JavaScript 中,变量就是一个用来存放值的容器,并且可以对容器中的值做修改。 每个变量都有唯一的变量名,使用变量名来区分变量。 1. 声明变量 在 JavaScript 中使用v
我想获取所选框的值,并将其保存在PHP变量中。我想保存并回显变量。请帮忙
问题内容: 如何在Javascript中创建静态变量? 问题答案: 如果您来自基于类的静态类型的面向对象的语言(例如Java,C++或C#),那么我假设您正在尝试创建与“类型”相关但与实例无关的变量或方法。 使用带有构造函数的“经典”方法的示例可能会帮助您了解基本的OO JavaScript概念: 是在MyClass对象(它是一个函数)中定义的,并且与创建的实例无关,JavaScript将函数视为
问题内容: 我知道有很多关于此的帖子,但是我找不到我的特定问题的答案。 我想让JS变量成为HTML属性的值 VARIABLE HERE是我想要screenWidth变量去的地方。最好的办法是什么? 谢谢,本 问题答案: 这应该工作:
问题内容: 我想通过使用以下代码来获取全局变量中的数据: 但是问题是我只是在d3.json函数中定义了数据变量,但是没有定义。我该如何解决这个问题? 谢谢 问题答案: 由于d3请求(如)是异步的,因此最佳做法是将所有依赖于外部请求的代码包装在请求回调中,以确保该代码在执行之前可以访问数据。来自D3 docs :“异步加载数据时,依赖于已加载数据的代码通常应存在于回调函数中。” 因此,一种选择是将所