如何在JavaScript循环中创建动态变量名?
在本教程中,我们将使用JavaScript循环内部的动态变量名。动态变量名意味着它不是预先硬编码的,我们可以根据其他字符串值的需求创建它。
在JavaScript中,动态变量的应用并不多,但在开发实时应用程序时是需要的。例如,在开发任何应用程序时,程序员希望将任何与用户相关的实体存储到与用户名相同的变量中。在这种情况下,程序员需要在JavaScript中创建动态变量。
用户还可以参考以下示例来了解动态变量的需求。假设程序员想要将某些值存储在本地存储中,并且他们需要每个键都有唯一的名称。为了创建唯一键,他们必须使用动态变量。
因此,动态变量有很多应用。下面,我们实现了创建动态变量的不同方法。
使用变量数组
使用eval()方法
使用Window对象
使用变量数组
创建动态变量最简单的JavaScript方法是创建一个数组。在JavaScript中,我们可以定义动态数组而无需定义其长度,并将其用作Map。我们可以使用数组将值与键映射,也可以使用键访问值。
语法
用户可以遵循以下语法来创建动态数组以存储动态变量。
let array = [];
for () {
array[ key ] = value; // dynamically assign value to the key.
}示例
在下面的示例中,我们使用了动态数组来创建变量。我们将一些偶数的平方存储起来,将数字作为键,平方作为值。
<html>
<head>
<title>Use dynamic variable names inside JavaScript loop.</title>
</head>
<body>
<h2>Use dynamic variable names inside JavaScript loop.</h2>
<h4>Accessing the different square values from the array.</h4>
<div id="value"></div>
<script>
let value = document.getElementById("value");
let dynamic = [];
// storing the squre of even number in dynamic array
for (let user_id = 0; user_id< 30; user_id += 2) {
dynamic[user_id] = user_id * user_id;
}
value.innerHTML += "square of 4 is - " + dynamic[4] + ". <br/>";
value.innerHTML += "square of 4 is - " + dynamic[10] + ". <br/>";
value.innerHTML += "square of 4 is - " + dynamic[22] + ". <br/>";
</script>
</body>使用eval()方法
在JavaScript中,**eval()**方法评估我们作为参数传递的表达式。它接收JavaScript表达式的字符串并对其进行评估。在我们的例子中,我们将传递格式化的字符串来创建动态变量。
语法
eval (JavaScript_expression);
参数
**JavaScript_expression** − 它是一个字符串格式的JavaScript表达式。用户也可以传递格式化的字符串。
示例
下面的示例演示了使用eval()方法创建动态变量。我们有一个用户名数组,我们根据用户名创建变量,访问其值,并将它们渲染到屏幕上。
<html>
<body>
<h2>Use dynamic variable names inside JavaScript loop.</h2>
<h4>Creating dynamic variable according to username and storing value into it:</h4>
<div id="value"></div>
<script>
let value = document.getElementById("value");
let user = ["user1", "user2", "user3", "user4", "user5"];
// creating variable same as username and storing userid into that.
for (let user_id = 0; user_id<user.length; user_id++) {
eval('var ' + user[user_id] + '= ' + user_id + ';');
}
value.innerHTML += "value for user1 is - " + user1 + ". <br/>";
value.innerHTML += "Value for user5 is - " + user5 + ". <br/>";
</script>
</body>
</html>使用Window对象
**window对象**在每个浏览器中默认定义。用户可以使用window对象访问代码中的每个全局变量。此外,程序员可以使用格式化的字符串和window对象创建动态变量。
语法
用户可以遵循以下语法将变量存储在window对象中。
for ( let i = 0; i< 10; i++ ) {
window[ ‘user’ + i ] = value;
}
let val = user0; // to access the dynamic variables示例
在这个示例中,我们使用了window对象来存储全局变量。我们从用户数组中访问值,并使用window对象将它们设置为全局变量。
<html>
<head>
<title>Use dynamic variable names inside JavaScript loop.</title>
</head>
<body>
<h2>Use dynamic variable names inside JavaScript loop.</h2>
<h4>Creating dynamic variable according to user array and storing to window object.</h4>
<div id="value"></div>
<script>
let value = document.getElementById("value");
let user = ["user1", "user2", "user3", "user4", "user5"];
// creating variable same as username and storing into window object.
for (let user_id = 0; user_id<user.length; user_id++) {
window[ user[user_id] ] = "hello " + user[user_id];
}
value.innerHTML += "value for user 1 is - " + user1 + ". <br/>";
value.innerHTML += "Value for user 5 is - " + user5 + ". <br/>";
</script>
</body>
</html>结论
本教程介绍了在循环内创建动态变量的三种不同方法。第一种方法是最简单和最常用的方法。此外,如果用户想要创建全局变量,他们可以使用第三种方法,使用window对象。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP