我试图创建一个函数,我将重复使用该函数以通过名称获取对象,将部分对象名称传入函数。如何通过在函数中传递部分变量名称来获取变量名称
我尝试过使用下面的代码片段,它正在输出undefined
。
如何通过将其部分名称传入此函数来获取实际变量?
function writeObject(name){
console.log(placeObjects[name+'Item']);
}
function placeObjects(){
var availableObjects = new Array();
availableObjects.push(new Object('image','kepler'));
availableObjects.push(new Object('image','lightning'));
availableObjects.push(new Object('image','tomato'));
availableObjects.push(new Object('image','us'));
var topItem = availableObjects[0];
var leftItem = availableObjects[1];
var bottomItem = availableObjects[2];
var rightItem = availableObjects[3];
writeObject('top');
writeObject('left');
}
placeObjects();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
@fubar感谢,但我会如何使用动态名称指的是变量在其当前的范围,因为我想干什么? –
通过拼接名称部分来使用变量访问的一般想法很糟糕。想象一下,你将使用代码缩小,你所有的var变量将改变名称,逻辑将变得不正确。我会建议使用名称作为某些对象的键。 –
@SerejaNagin好的,我怎样才能通过传递它的全名而不是连接它来引用变量?或者你能否举一个你建议用名称作为对象键的例子?我认为我的问题可能与查找变量的父项有关。 –