Вопрос по наследованию. Наследование Function.
Почему это не работает?
var Class = function() { }; var Tmp = function() { } Tmp.prototype = Function.prototype Class.prototype = new Tmp() Class.prototype.constructor = Class; var a = new Class(); console.log(a instanceof Function);//Возвращает true var b = new a();//Однако эта строчка не работает |
А почему вы решили что должно работать, и как оно по вашему должно работать?
Например при вызове new Class() будет выполнен код написанный в строчке 2. Какой код по вашему должен выполняться при new a()? И вообще, а - это просто объект типа Function, а вовсе не функция. Проверьте с помощью typeof |
Цитата:
var Class = function(constructor) { Function.constructor.call(this,constructor.toString()); }; Однако что такое объект типа Function и чем он отличается от function? |
Часовой пояс GMT +3, время: 18:50. |