Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.02.2019, 19:18
Профессор
Отправить личное сообщение для Sergey1986 Посмотреть профиль Найти все сообщения от Sergey1986
 
Регистрация: 28.02.2018
Сообщений: 169

Как создать объект из класса, если имя класса храниться в перменной)))
Доброго времени суток!
Озадачился задачкой )))
есть класс

class User {

say () {
alert('Привет');
}

}

let nameClass = 'User'

myObject = new nameClass (тут надо как то правильно)
myObject.say

и выведет алерт

вот такйо еще вариент (работает)
let classNameString = 'User';
let myObject = eval("new " + classNameString + "()");
myObject.say
Ответить с цитированием
  #2 (permalink)  
Старый 19.02.2019, 21:40
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,559

class User {

      say() {
        alert('Привет');
      }
    }

    let nameClass = 'User';

    const myObject = (Function('return new ' + nameClass))();

    myObject.say();


где то уже обсуждалось, если хорошо поищите, то найдете.
Ответить с цитированием
  #3 (permalink)  
Старый 19.02.2019, 23:39
Профессор
Отправить личное сообщение для Sergey1986 Посмотреть профиль Найти все сообщения от Sergey1986
 
Регистрация: 28.02.2018
Сообщений: 169

Спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 27.02.2019, 13:52
Профессор
Отправить личное сообщение для Sergey1986 Посмотреть профиль Найти все сообщения от Sergey1986
 
Регистрация: 28.02.2018
Сообщений: 169

Еще вопросик
А как вызвать метод объекта (объект ранее создан)
если объект имя лежит в переменной
let nameClass = 'User';

nameClass.say() (так ошибку выдает)
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2019, 06:29
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,559

eval(nameClass).say()
Ответить с цитированием
  #6 (permalink)  
Старый 02.05.2019, 18:21
Профессор
Отправить личное сообщение для Sergey1986 Посмотреть профиль Найти все сообщения от Sergey1986
 
Регистрация: 28.02.2018
Сообщений: 169

Добрый день!
Продолжаю данную ветку...

А если метод объекта в переменной лежит?что типа

class User {

      say(name) {
        alert(name);
      }
    }

    let nameClass = 'User';
    let method = 'say';

    const myObject = (Function('return new ' + nameClass))();

    myObject.method(name); //вот как то надо передать???



Заранее спасибо!
Ответить с цитированием
  #7 (permalink)  
Старый 02.05.2019, 18:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,066

Sergey1986,
myObject[method]('test')
Ответить с цитированием
  #8 (permalink)  
Старый 02.05.2019, 18:30
Профессор
Отправить личное сообщение для Sergey1986 Посмотреть профиль Найти все сообщения от Sergey1986
 
Регистрация: 28.02.2018
Сообщений: 169

Нашел
myObject[action](params);
Ответить с цитированием
  #9 (permalink)  
Старый 02.05.2019, 18:31
Профессор
Отправить личное сообщение для Sergey1986 Посмотреть профиль Найти все сообщения от Sergey1986
 
Регистрация: 28.02.2018
Сообщений: 169

Спасибо!!!опаздал я со своим ответом на 4 минуты ))))
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как открыть jquery dialog если он храниться отдельным файлом,с использованием jquery? heksen jQuery 5 21.11.2014 12:55
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 11:29
Создать объект в объекте Bryant-24 Общие вопросы Javascript 3 10.07.2013 15:06
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 15:17
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 12:31