JS, прототип: имея конструктор, как я могу получить экземпляр? - PullRequest
0 голосов
/ 24 января 2012

Модель в моем коде получает конструктор в какой-то момент:

this.defaultView = WJCard;

WJCard - это простой прототип:

function WJCard() {...}

В какой-то момент модели необходимо создать экземпляр WJCard на основе свойства this.defaultView. Я думал, что следующее поможет, но я ошибаюсь:

WJModel.prototype.render = function(classname) {

if (classname) {
    this.view = this.defaultView.call(); // Returns null :(
    // ...
}

    /. ...

}

Я попробовал всего понемногу, но безуспешно. Кто-нибудь может мне помочь?


Исправленный код благодаря ответу ...

WJModel.prototype.render = function(classname) {

if (classname) {
    this.view = new classname(); // works fine this way!
    // ...
}

    /. ...

}

1 Ответ

3 голосов
/ 24 января 2012

Вы все еще можете использовать new как обычно:

this.view = new this.defaultView();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...