Как смешать строки и параметры функции в переменную - PullRequest
0 голосов
/ 04 января 2019

Так что мне сейчас нужно что-то подобное, но я так и не смог найти то, что соответствует моим потребностям. Скорее всего, я ищу не те вещи!

Моя цель - поставитьпараметр из функции, такой как foobar («тест») и положить параметр плюс некоторые предварительно записанные строки из функции и плюс их вместе и, следовательно, становится уже существующей переменной ...

Я думаю, что яобъясняет очень плохо ... но, надеюсь, пример кода получит лучшее объяснение ...

Я пробовал несколько простых вещей, которые были очевидны, не сработают, поэтому мне, скорее всего, не нужно показыватьчто я сделал ...

var text1 = "this is text"

function foo(id) {
    object.innerHTML = "text" + 1 // Then plus those together and make it set it to the variable text1
}

foo(1)

Ожидается: я хотел бы, чтобы он записал в объекте "это текст", потому что он делает текст, а переменная id aka 1 в text1, которая является переменной сстрока «this is text»

Фактические результаты: Очевидно, что это не сработает, мне даже не нужно писать это, чтобы узнать, что это не сработает ... Просто примерлучше объясни ...

Надеюсьв полной мере вы можете помочь, спасибо!

Ответы [ 3 ]

0 голосов
/ 04 января 2019
var text1 = "this is text"

function foo(id) {
    object.innerHTML = window['text'+id];}

foo(1)
0 голосов
/ 04 января 2019

Как я объяснил в своем комментарии, взятие вопроса за чистую монету приводит к рекомендации того, что обычно не нужно и подвержено ошибкам, и поэтому его следует избегать.

Есть гораздо более удобочитаемые альтернативы, такие как создание объекта и использование его ключей и [] запись:

var texts = {
  example: "this is text",
  message: "Hello World!"
};

function foo(id) {
  someDiv.innerHTML = texts[id];
}

foo("message");
<div id="someDiv"></div>
0 голосов
/ 04 января 2019

Вы должны использовать функцию eval.

var text1 = "this is text"
var text2 = "this is text2"
function foo(id) {
   console.log(eval('text'+id)); 
}

foo(2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...