Вопрос по наследованию. Наследование 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, время: 11:46. |