Javascript 动态访问定义的函数或变量属性
我花了一些时间阅读有关访问对象属性的内容,但找不到解决问题的方法Javascript 动态访问定义的函数或变量属性,javascript,performance,Javascript,Performance,我花了一些时间阅读有关访问对象属性的内容,但找不到解决问题的方法 假设我有10个数组,分别是arr1,arr2,arr3。。。啊。如果不使用eval(),如何访问所有数组的长度?我用一个for循环和eval(“arr”+I+“.length”)完成了它。我知道arr1[“length”]有效,但如何访问所有数组的长度?使用循环 如何访问函数,如split(),splice()或pop()。。。所有这些阵列中 假设arr1=[“tab1”,“tab2”],其中tab1,tab2稍后定义为数组。如果
eval()
,如何访问所有数组的长度?我用一个for
循环和eval(“arr”+I+“.length”)
完成了它。我知道arr1[“length”]
有效,但如何访问所有数组的长度?使用循环split()
,splice()
或pop()
。。。所有这些阵列中arr1=[“tab1”,“tab2”]
,其中tab1,tab2
稍后定义为数组。如果我想从arr1
访问tab1
的长度,我应该怎么做?如果我还想访问数组上定义的函数您应该将所有这些数组移动到父
对象
或数组
此外,您不应避免eval
。提及
var arr1=[1,2];
var arr2=[1,2,3,4];
var arr3=[1,2,3];
var arr4=[1,2,6,4,3,6];
var arr5=[1];
var obj={
阵列1:arr1,
array2:arr2,
阵列3:arr3,
阵列4:arr4,
阵列5:arr5
}
Object.keys(obj.forEach)(函数(o){
document.write(obj[o].length+“
”);
});代码>
假设我有10个数组,分别是arr1,arr2,arr3。。。啊。怎么
我是否可以不使用eval()访问所有数组的长度?
我使用for循环和eval(“arr”+I+“.length”)来完成。我知道
arr1[“length”]有效,但如何访问所有数组的长度?
使用循环
如果这些数组在函数中定义为
var arr1 = [];
var arr2 = [];
那么你就不能通过名字访问它们了
您需要在对象内定义数组。比如说
var obj = {
"arr1" : [1,2],
"arr2" : [2,3]
}
如果知道数组名称,则可以通过执行以下操作来访问该数组
console.log(obj.arr1);
或
但是,如果这些数组是在全局上下文中定义的(在任何函数之外),则可以通过窗口对象访问它们
window["arr1"]
让我们假设arr1=[“tab1”,“tab2”],其中tab1,tab2在后面定义
作为数组。如果我希望从arr1访问tab1的长度,应该如何访问
我愿意?如果我还想访问数组上定义的函数
如果tab1定义为“var tab1=[];”那么你就不能通过名字来访问这个
您需要再次将这些数组包装到对象中
var obj = {"tab1" : []};
然后您可以通过执行以下操作来访问它
console.log(obj[arr1[0]]);
如果您事先不知道阵列的数量,那么阵列阵列也可以正常工作:
var数组=[[1,2]、[1,2,3,4]、[1,2,3]、[1,2,6,4,3,6]、[1];
对于(var i=0;i');
}
请添加一些示例,看看您想要实现什么?只需将数组放入包装对象中,并通过括号表示法访问它们:obj['arr'+i]。length
console.log(obj[arr1[0]]);