首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态分配变量名JavaScript

动态分配变量名JavaScript
EN

Stack Overflow用户
提问于 2017-06-06 11:48:26
回答 2查看 996关注 0票数 0

我试图使用用户的输入动态地分配变量名。例如:

代码语言:javascript
复制
var input = document.querySelector('input');

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

任何帮助都将不胜感激。

谢谢你,抓猫

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-06 12:15:09

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

  1. 以固定的方式指定它们(例如,obj.propertyName = 'Value')
  2. 使用数组表示法(例如obj[propertyName] = 'Value')指定它们。在本例中,请注意propertyName是一个字符串值。

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

在你的例子中,@LuudJacobs关于使用窗口对象的建议很可能会起到这个作用.

票数 1
EN

Stack Overflow用户

发布于 2017-06-06 12:29:53

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

html

代码语言:javascript
复制
<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>

首先声明数组

代码语言:javascript
复制
var a = new Array();

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

代码语言:javascript
复制
for(var i = 0; i < 3; i++){
    a[x[i].value] = x[i].value;
}

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

代码语言:javascript
复制
alert(a['demo1'] + ' ' +a['demo2'] + ' ' + a['demo3']);

下面是一个指向示例https://jsfiddle.net/309fpsjn/1/的链接

代码语言:javascript
复制
<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>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44389233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档