Показать сообщение отдельно
  #8 (permalink)  
Старый 09.07.2013, 13:44
Кандидат Javascript-наук
Отправить личное сообщение для Valdemor Посмотреть профиль Найти все сообщения от Valdemor
 
Регистрация: 30.03.2012
Сообщений: 128

Сообщение от danik.js Посмотреть сообщение
Верно. Она у тебя возвращает зачем-то пустой объект. Таким образом ты пытаешься вызвать {}.func() . Но откуда у пустого объекта функция func?
Сообщение от danik.js Посмотреть сообщение
var hybrid = function(){
    return (this instanceof hybrid) ? this : new hybrid();
};
hybrid.func = function() {
    alert("It's works!");
};
hybrid.prototype = hybrid.constructor = hybrid;


hybrid.func();
hybrid().func();
Суть в том, чтобы функции func и func2 вызывались только для hybrid() и hybrid соответственно, т.е. чтобы func2 не вызывался с помощью объекта hybrid.
Ответить с цитированием