繁体   English   中英

动态分配变量名JavaScript

[英]Dynamically assigning variable names JavaScript

我正在尝试使用用户的输入动态分配变量名。 例如:

var input = document.querySelector('input');

for(var i = 0; i < 10; i++){
   var newVariableName = //input.value;
}

任何帮助将不胜感激。

谢谢你,抓猫

JavaScript中的所有内容都是一个对象。 JavaScript的工作方式,您可以通过两种方式向对象添加属性:

  1. 以固定方式指定它们(例如obj.propertyName = 'Value'
  2. 使用数组符号指定它们(例如obj[propertyName] = 'Value' )。 在这种情况下,请注意propertyName是一个字符串值。

在这两种情况下,结果将完全相同。 您也可以检索那些属性,例如obj.propertyNameobj[propertyName] 两者都将返回'Value'

就您而言,@ LuudJacobs关于使用window对象的建议很可能会解决问题。

您可以使用数组,其中键将是输入值,而值将是您想要的任何值。

html

<form>

<input type="text" value="demo1" class="example"><br />
<input type="text" value="demo2" class="example"><br />
<input type="text" value="demo3" class="example">

</form>

js首先声明数组

var a = new Array();

然后使用for循环将键名分配给数组,这将是输入值

for(var i = 0; i < 3; i++){
    a[x[i].value] = x[i].value;
}

最后,您可以使用这些键名来访问值

alert(a['demo1'] + ' ' +a['demo2'] + ' ' + a['demo3']);

这是指向示例https://jsfiddle.net/309fpsjn/1/的链接

 <html> <form> <input type="text" value="demo1" class="example"><br /> <input type="text" value="demo2" class="example"><br /> <input type="text" value="demo3" class="example"> </form> <script> var x = document.querySelectorAll(".example"); var a = new Array(); for(var i = 0; i < 3; i++){ a[x[i].value] = x[i].value; } alert(a['demo1'] + ' ' +a['demo2'] + ' ' + a['demo3']); </script> </html> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM