如何在 JavaScript 循环中创建动态变量名?
在本教程中,我们将在 JavaScript 循环中使用动态变量名。动态变量名意味着它尚未硬编码,我们可以根据需要从其他字符串值中创建它。
在 JavaScript 中,动态变量的应用并不多,但在开发实时应用程序时需要它。例如,在开发任何应用程序时,程序员希望将任何与用户相关的实体存储到与用户名同名的变量中。在这种情况下,程序员需要在 JavaScript 中创建动态变量。
用户还可以参考以下示例来了解动态变量的要求。假设程序员想要在本地存储中存储一些值,并且他们需要每个键的唯一名称。要创建唯一键,他们必须使用动态变量。
因此,动态变量有很多应用。下面,我们实现了创建动态变量的不同方法。
使用变量数组
使用 eval() 方法
使用 Window 对象
使用变量数组
创建动态变量的最简单的 JavaScript 方法是创建一个数组。在 JavaScript 中,我们可以定义动态数组而不定义其长度并将其用作 Map。我们可以使用数组将值与键进行映射,也可以使用键访问该值。
语法
用户可以按照以下语法创建动态数组来存储动态变量。
let array = []; for () { array[ key ] = value; // 动态地将值分配给键。 }
示例
在下面的示例中,我们使用了动态数组来创建变量。我们将数字视为键,将平方视为值,从而存储了一些偶数的平方。
<html> <head> <title>Use dynamic variable names inside JavaScript loop.</title> </head> <body> <h2>在 JavaScript 循环中使用动态变量名。</h2> <h4>从数组访问不同的平方值。</h4> <div id="value"></div> <script> let value = document.getElementById("value"); let dynamic = []; // 将偶数的平方存储在动态数组中 for (let user_id = 0; user_id< 30; user_id += 2) { dynamic[user_id] = user_id * user_id; } value.innerHTML += "4 的平方是 - " + dynamic[4] + ". <br/>"; value.innerHTML += "4 的平方是 - " + dynamic[10] + ". <br/>"; value.innerHTML += "4 的平方是 - " + dynamic[22] + ". <br/>"; </script> </body>
使用 eval() 方法
在 JavaScript 中,eval() 方法评估我们作为参数传递的表达式。它获取 JavaScript 表达式的字符串并对其进行评估。在我们的例子中,我们将传递格式化的字符串来创建动态变量。
语法
eval (JavaScript_expression);
参数
JavaScript_expression − 它是字符串格式的 JavaScript 表达式。用户还可以传递格式化的字符串。
示例
以下示例演示了如何使用 eval() 方法创建动态变量。我们有用户名数组,我们根据用户名创建变量并访问其值,然后将其呈现在屏幕上。
<html> <body> <h2>在 JavaScript 循环中使用动态变量名。</h2> <h4>根据用户名创建动态变量并将值存入其中:</h4> <div id="value"></div> <script> let value = document.getElementById("value"); let user = ["user1", "user2", "user3", "user4", "user5"]; // 创建与用户名相同的变量并将用户 ID 存储到其中。 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; // 访问动态变量
示例
在本例中,我们使用窗口对象来存储全局变量。我们使用窗口对象访问用户数组中的值,并将它们设为全局变量。
<html> <head> <title>在 JavaScript 循环中使用动态变量名。</title> </head> <body> <h2>在 JavaScript 循环中使用动态变量名。</h2> <h4>根据用户数组创建动态变量并存储到窗口对象中。</h4> <div id="value"></div> <script> let value = document.getElementById("value"); let user = ["user1", "user2", "user3", "user4", "user5"]; // 创建与 username 相同的变量并存储到 window 对象中。 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>
结论
本教程有三种不同的方法来在循环内创建动态变量。第一种方法是最简单和最常用的。此外,如果用户想要创建全局变量,他们可以使用第三种方法,即使用窗口对象。