Почему если функция возвращает объект класса Class1 в переменную o то во внешнем коде через instanceof проверка не происходит, хотя o.constructor показывает Class1 ? Если же создать объект класса Class1 без функции, тогда instanceof выдаст true.
function fabric() {
function Class1() {
}
return new Class1();
}
var o = fabric();
alert( o instanceof Class1 );
Проверяет, но для этого функция-конструктор, с которой проверяется соответствие, должна находится в области видимости. Твой код у меня вообще не выполнился - Reference Error.