Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Maximum call stack size exceeded вываливается при выз this.constructor.superclass.someMeth / 1 сообщений из 1, страница 1 из 1
28.11.2016, 13:53
    #39355941
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Maximum call stack size exceeded вываливается при выз this.constructor.superclass.someMeth
Нашёл такую функцию наследования:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
    function extend(Child, Parent) {
        var F = function() { }
        F.prototype = Parent.prototype
        Child.prototype = new F()
        Child.prototype.constructor = Child
        Child.superclass = Parent.prototype
    }



написал таки три класса/функции:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 function foo() {}
    foo.prototype.identify = function() {
        return "I'm a foo";
    }
    
    function bar() {}
    extend(bar, foo)
    bar.prototype.identify = function() {
        return "I'm a bar and " +
            this.constructor.superclass.identify.apply(this, arguments);
    }
    
    function zot() {}
    extend(zot, bar)
    zot.prototype.identify = function() {
        return "I'm a zot and " +
            this.constructor.superclass.identify.apply(this, arguments);
    }



таки образом получается

foo->bar->zot

теперь напишем такой вот код:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 f = new foo();
    
    alert(f.identify()); // "I'm a foo"
    
    b = new bar();
    
    alert(b.identify()); // "I'm a bar and I'm a foo"
    
    z = new zot();
    
    alert(z.identify()); // stack overflow




Код выводит

авторUncaught RangeError: Maximum call stack size exceeded(…)

Объясните плиз где тут рекурсия берется
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Maximum call stack size exceeded вываливается при выз this.constructor.superclass.someMeth / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]