不使用 Eval 动态引用 Javascript 数组名称?
Posted
技术标签:
【中文标题】不使用 Eval 动态引用 Javascript 数组名称?【英文标题】:Dynamically referencing Javascript Array name without using Eval? 【发布时间】:2010-11-07 13:47:47 【问题描述】:鉴于 EVAL 是邪恶的,我该如何动态创建数组名称:
我有一堆数组,我需要根据用户点击的内容引用不同的数组。
这段代码给了我数组对象:
(eval(calendarObject.id + '7'))
但是eval不好,我该如何构造一个Array名字然后引用呢?
这里有更多上下文:
if (jQuery.inArray(String(checkinDate.getTime()/1000),
(eval(calendarObject.id + '7'))) == -1 ) //do stuff ;
有什么想法吗?
谢谢。
【问题讨论】:
【参考方案1】:它是一个全局变量,它将是窗口对象的一个属性:
window[calendarObject.id + '7']
【讨论】:
我仍然无法弄清楚 OP 想要什么,但我认为你更接近了 最好重写它,使其成为不同对象的属性,而不是将其保留为全局对象。 @annakata - 当我的页面是通过 php 构建时,它会写出一组数组(ctg7、gdn7、twr7 等)然后我需要根据用户点击的内容访问这些值浏览器。无论如何,@Greg 有答案。非常感谢 :) @David Dorward - 是的,我想我会的,但它现在正在工作:)以上是关于不使用 Eval 动态引用 Javascript 数组名称?的主要内容,如果未能解决你的问题,请参考以下文章
不使用eval,按字符串名称访问命名空间的javascript对象