Страницы

Поиск по вопросам

суббота, 28 декабря 2019 г.

JavaScript: как создать переменную через функцию?

#javascript


Здравствуйте!

Подскажите, пожалуйста, можно ли в JavaScript создать и назначить переменной имя,
 переданной через аргумент функции?

Например: 

function create_el(name){
    var div = document.createElement("div");
    div.id = name;
    document.getElementById("main").appendChild(div);
    //name = document.getElementById(div);  //name должен стать test
}

 create_el('test');
 console.log(test);   // созданный элемент


Т.е. нужно в функцию передать имя, а на выходе получить переменную с этим именем.
Спасибо!
    


Ответы

Ответ 1



Создайте глобальную переменную в свойстве window. Например: function(a){window.a=a}. Далее просто используйте её.

Ответ 2



Не засоряйте глобальную область видимости такими переменными. Просто возвращайте из функции созданный объект и работайте с ним. function create_el(name){ var div = document.createElement("div"); div.id = name; document.getElementById("main").appendChild(div); return div; } console.log(create_el('test'));

Ответ 3



name = 'test' window[name] = 'Wow!' console.log(test) Но так делать нельзя. Смотри объяснения в ответе https://ru.stackoverflow.com/a/671895/223714

Комментариев нет:

Отправить комментарий