Может ли конструктор JavaScript возвращать функцию и сохранять наследование?

function F() {
    return function() {
        return {};
    }
}

var f = new F();
f instanceof F; // returns false

Насколько я понимаю, если я хочу, чтобы instanceofработало, мне нужно вернуть thisиз конструктора. Но я хочу, чтобы конструктор возвращал функцию, и я не могу присвоить this.

Итак, это действительно невозможно или можно как-то сделать, чтобы f = new F()возвращал функцию и при этом f instanceof Fвозвращал true?

14
задан Sixtease 26 April 2012 в 21:05
поделиться