Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取我不知道的变量的内容';我不知道它的名字_Javascript_Datatable - Fatal编程技术网

Javascript 如何获取我不知道的变量的内容';我不知道它的名字

Javascript 如何获取我不知道的变量的内容';我不知道它的名字,javascript,datatable,Javascript,Datatable,虽然这个问题是关于数据表的,但并不是专门针对它的 我将datatables init存储在变量中。由于页面上有多个数据表,所以变量名会有所不同。我试图通过组合变量的名称来收集这些变量的内容,我不知道以后如何使用我组合的“字符串”作为变量 例如: var var_1_id_0 = $('.item1').datatable(); var var_1_id_1 = $('.item2').datatable(); var var_1_id_2 = $('.item3').datatable();

虽然这个问题是关于数据表的,但并不是专门针对它的

我将datatables init存储在变量中。由于页面上有多个数据表,所以变量名会有所不同。我试图通过组合变量的名称来收集这些变量的内容,我不知道以后如何使用我组合的“字符串”作为变量

例如:

var var_1_id_0 = $('.item1').datatable();
var var_1_id_1 = $('.item2').datatable();
var var_1_id_2 = $('.item3').datatable();

// later in the code.
var varname = 'var_1_id'+'_0';

// varname now holds the string 'var_1_id_0' which is the first variable.
我的问题是如何使用varname的字符串‘var_1_id_0’作为变量‘var_1_id_0’

我希望这是有意义的


谢谢,这是不可能的。更接近的解决方案是:

var datatable={};//A new Object.Arrays doesn't work property for this.

datatable['var_1_id_0'] = $('.item1').datatable();
datatable['var_1_id_1'] = $('.item2').datatable();
datatable['var_1_id_2'] = $('.item3').datatable();

// later in the code.
var varname = 'var_1_id'+'_0';
console.log(datatable[varname]);
试着这样做:

var varname='var_1_id'+''u 0'

警报(窗口[varname])


类似于
yourObject[varname]
如果(yourObject.hasOwnProperty(varname)){}我不想拥有对象并向其添加属性,则需要像
一样检查它。如果我这样做了,我将不得不得到一个全球风险值或有一些真正丑陋的东西。有没有一条路没有?我在想可能是
eval
,但那是行不通的使用an来运行你的东西,并使用
var
使其在函数范围内成为局部的。是的,josh,我知道这一点。我想我的问题应该更清楚,表不是一个接一个地启动的,它们是在一个循环中启动的,在一个函数范围内启动的,因此我必须创建一个全局的,或者如何将对象从一个迭代转移到另一个迭代。没有创建一个我不想创建的全局。是的,我非常了解范围,感谢您的澄清。然而。我现在的代码设置方式是,除非我做了一些非常丑陋的事情,或者将对象转换为全局对象,否则我无法使用对象。那么,您如何知道需要多少var id呢?您是在检查长度还是只是硬编码变量名称?我正在遍历页面中的表,获取它们的id,这也是经过一些更改后的变量名称。您的想法应该是这样的:
window.var_1_id_0='something'var varname='var_1_id'+''u 0';警报(窗口[varname])所以没有