Только, когда у Вас есть на той поздней стадии некоторый независимый политик (почти 0%-е взаимодействие с другими частями проекта) задачи, которыми кто-либо не занимается все же, и можно навлечь команду кто-то, который является специалистом в том домене. Добавление члена команды должно минимизировать разрушение для остальной части команды.
Для этого вы можете использовать eval
, хотя я стараюсь избегать подобных вещей любой ценой.
alert(eval(someString));
Лучший способ, если вам это нужно для этого нужно использовать хеш-таблицу.
var stuff = { myText: 'hello world!' };
var someString = 'myText';
alert( stuff[someString] );
Если эта переменная находится в глобальной области, вы можете использовать нотацию скобок для глобального объекта:
var myText = 'hello world!';
var someString = 'myText';
alert(window[someString]);
Вы можете сделать это с помощью eval
:
var myText = 'hello world!';
var someString = 'myText';
eval('var theTextInMyText = ' + someString + ';');
alert(theTextInMyText);
Желание сделать это вообще обычно является "запахом кода". Возможно, есть более изящный способ ...
eval
сделает это:
var myText = 'hello world!!';
var someString = eval('myText');
document.getElementById('hello').innerHTML = someString;
Как продемонстрировано здесь .
Предполагая это на верхнем уровне, window [someString] === "hello world!"
.