我試圖創建一個函數,我將重複使用該函數以通過名稱獲取對象,將部分對象名稱傳入函數。如何通過在函數中傳遞部分變量名稱來獲取變量名稱
我嘗試過使用下面的代碼片段,它正在輸出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好的,我怎樣才能通過傳遞它的全名而不是連接它來引用變量?或者你能否舉一個你建議用名稱作爲對象鍵的例子?我認爲我的問題可能與查找變量的父項有關。 –