使用Javascript / HTML,是否有可能从一个循环创建变量名

想象一下,我有<div id names>142,140,150</names>

可我再(在Javascript)写一个forloop该声明的变量名,这些附加价值,即

var list = document.getElementById('names').innerHTML.Split(','); for(i=0; i<list.Length; i++){ var 'beginning' + list[i]; }

所以我基本上是想创建:

VAR beginning142 VAR beginning140变种beginning150

--------------解决方案-------------

你的确可以:

window['beginning' + list[i]] = 'value';

有趣的巧合,我10秒之前,这个回答非常密切相关的问题,然后我正是用这个作为例子。 那么为什么工作的更详细的解释可以在这里找到。

你可以这样做:

for(var i = 0; i<100; i++)
{
eval("var beginning"+i);
}

对于开发人员害怕来自EVAL这是好文章1谈论的eval以及它是如何不是一个邪恶:http://www.nczonline.net/blog/2013/06/25/eval-isnt-evil-just-misunderstood/

保险业监督€™不是说你应该去运行,并开始使用eval()无处不在。 事实上,很少有很好的用例在所有运行的eval()。 肯定有与代码的清晰性,可调试性,当然性能也不容忽视担忧。 但是你shouldn’吨害怕使用它时,你有一个情况下的eval()是有道理的。 尽量不要使用它第一次,但唐娜€™吨让任何人吓唬你以为你的代码是比较脆弱或者更不安全时的eval()比较适用。

我不能要你的问题添加评论,由于低信誉得分 - 这是不回答,但建议。 我认为这将是更好地创建你的钥匙142140150单一阵列...

你为什么不定义一个对象,它具有这些值作为它的一个属性。

例如:

var myVariable = function(id, value){
this.Id = id;
this.Value = value;
};

那么你可以实例化这个对象。 我觉得是那么复杂,到底更具可读性。

分类:JavaScript的 时间:2015-03-15 人气:0
本文关键词: JavaScript的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.623 (s). 10 q(s)