2016-12-05 5 views
-2

Мне было интересно, можете ли вы «объединить» параметр переменной и функции? Если да, то как вы могли это сделать?Определить переменную по функциональному параметру

E.g.

var word1 = 1; 
var word2 = 13; 
var word3 = 3; 

function magicFunction (magicParameter) { 
    //something magical happens here 
    return magicVariable; //"word" + magicParameter somehow 
} 

magicFunction(1) = 5; //word1 = 5 
magicFunction(2) = 13; //word2 = 13 
magicFunction(3) = 3; //word3 = 3 

Спасибо!

Update: Вы можете сделать это с eval():

var word1 = 5; 
 
var word2 = 13; 
 
var word3 = 3; 
 

 
function magicFunction (magicParameter) { 
 
    var magicVariable = eval("word" + magicParameter); 
 
    return magicVariable; //"word" + magicParameter somehow 
 
} 
 

 
console.log(magicFunction(1)) //word1 = 5 
 
console.log(magicFunction(2)) //word2 = 13 
 
console.log(magicFunction(3)) //word3 = 3

+0

Существует переменная слова внутри функции комбинирования. это ожидаемое поведение –

+1

'{magic}' ????? – Mahi

+0

@Venkatraman Нет, это может быть что угодно. {magic} просто означает все, что позволяет вам «объединить» две вещи. –

ответ

-1

здесь магия значение +

var word1 = 1; 
 

 
function combine (index) { 
 
    magicVariable = word1 + index; 
 
    
 
    return magicVariable; 
 
} 
 

 
console.log(combine(1));

+0

- это то, что вы хотите волшебника? – Mahi

+0

Не могли бы вы рассказать об этом? Это выводит «2», а не 'word1' –

+0

@ChrisHappy, потому что слово1 является переменной, а не строкой. если бы мы использовали '' word1 "+ index', тогда вывод был бы' word1' – Mahi

Смежные вопросы