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

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


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