Jay*_*abu 0 javascript arrays jquery
如果你有这样的事情
var x='y';
var z='x';
Run Code Online (Sandbox Code Playgroud)
如果我们想从z获得x(即y)的值,我们可以达到这样的目的
eval(z)会给你'y'.
我的问题是,如果我像一个数组像x
var x=[a,b,c];
var z='x';
Run Code Online (Sandbox Code Playgroud)
如何获得x数组值,如x[0],x[1],x[2]使用变量z.
我们不能使用喜欢eval(z[0]),如果我们给予喜欢eval[z]我们将得到喜欢[a,b,c]但我想直接访问单个数组元素.什么是实现这一点的方法.
请帮忙.
提前致谢.
如果x是全局的,您可以使用window:
window[z][0] === a; // true
Run Code Online (Sandbox Code Playgroud)
...但只有在x全球化的情况下,坦率地说,无论如何都不是一个好主意.
要使用非全局变量执行此操作,请放置x一个对象:
var obj = {x: [a, b, c]};
Run Code Online (Sandbox Code Playgroud)
......然后使用obj:
obj[z][0] === a; // true
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,这都有效,因为您可以使用"点表示法"和文字属性名称(foo.bar)或"括号表示法"和字符串属性名称(foo["bar"])来访问JavaScript中的对象属性.在第二种情况下,您可以为字符串添加任何表达式.
window适用于全局变量的原因是,在JavaScript中,所有全局变量都是全局对象的属性,在浏览器中,您可以使用符号引用该全局对象window.(实际上,window它本身是全局对象的一个属性,该对象用来引用它自己.)
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |