2010-12-09 5 views
8

Здравствуйте, можно получить доступ к значению переменной JavaScript по имени? Пример:Доступ к переменной JavaScript по имени?

var MyVariable = "Value of variable"; 


function readValue(name) { 
    .... 
} 


alert(readValue("MyVariable")); 

Возможно ли, что выход «Значение переменной»? Если да, то как мне написать эту функцию?

Благодаря

+0

Проверьте мой выбор, пожалуйста. – SeanKendle 2015-08-21 16:05:37

ответ

8

Глобальные переменные определяются на window объекта, так что вы можете использовать:

var MyVariable = "Value of variable"; 
alert(window["MyVariable"]); 
5

Да, вы можете сделать это следующим образом:

var MyVariable = "Value of variable"; 
alert(window["MyVariable"]); 
+1

Это верно, для тех, кто интересуется больше, он называется [скобкой нотации] (https://developer.mozilla.org/en/JavaScript/Reference/Operators/Member_Operators). – 2010-12-09 15:25:41

+0

Это отличная ссылка, Ник. Спасибо, что поделился! – wsanville 2010-12-09 15:27:35

+1

.. и причина, по которой вы используете окно [], заключается в том, что MyVariable находится в глобальной области видимости, что делает его свойством объекта `window`. (объект `window` является глобальным объектом на стороне клиента JS) – instantsetsuna 2010-12-09 15:39:59

3
var MyVariable = "Value of variable";  
alert(readValue("MyVariable"));  

// function readEValue(name) { readevalue -> readvalue // always do copy-paste to avoid errors 
function readValue(name) { 
return window[name] 
} 

Это все о; o)

0

Попробуйте^_^

var MyVariable = "Value of variable"; 

alert(readValue("MyVariable")); 

function readValue(name) { 
    return eval(name) 
} 
Смежные вопросы