Какую строчку из приведенных ниже следует вставить в описанную далее функцию
superCon
Object.prototype.superCon = function(){ // вот здесь надо вставить строку кода } на место, указанное в комментарии, чтобы ее (функцию
superCon
) можно было вызывать вместоsuper()
в конструкторе (для вызова конструктора базового класса)?
arguments.caller.prototype.constructor.apply(this, arguments);
 
arguments.callee.prototype.constructor.apply(this, arguments);
 
arguments.caller.prototype.__proto__.constructor.apply(this, arguments);
 
arguments.callee.prototype.__proto__.constructor.apply(this, arguments);
 
Рассмотрите следующий код
o = Object; _global.Object = Parent; Child = function () {}; _global.Object = o; delete o; и определите, какие высказывания по его поводу являются справедливыми.
Child
становится наследником класса Parent
 
super()
без специальной установки поля __constructor__
 
За счет чего следующий код
o = Object; _global.Object = Parent; Child = function () {}; _global.Object = o; delete o; обеспечивает то, что класс
Child
становится наследником классаParent
?
prototype
создается объект, того класса, который записан в _global.Object
 
Parent
 
__proto__
 
Для каких целей может служить код такого вида:
func = function(someArgsArray){ // Количество аргументов в данном случае выбрано произвольно super(someArgsArray[0], someArgsArray[1]); } class_x = function(argClass, otherArgsArray){ this.__proto__.__constructor__ = argClass; func.apply(this, [otherArgsArray]); }
apply
 
apply
конструктора любого базового класса, кроме системных 
Для реализации виртуальных базовых классов в функции multipleInherit
используется
В нашей реализации множественного наследования цепочки __proto__
базовых классов выстраиваются
Какая техника не применяется в общеполезной отладочной утилите dumpObj
?
__proto__
 
ASSetProtFlags
 
Зачем в нашей реализации множественного наследования применяется динамическая замена ссылки __constructor__
в процессе работы конструктора?
apply
 
apply
 
Почему в нашей реализации множественного наследования для корректного наследования от классаArray
(илиString
) надо указывать его как системный базовый?
Array
(как и конструктор String
) работает как функция преобразования типа, если вызвать его через apply
 
В нашей реализации множественного наследования виртуальный базовый класс
__proto__
 
__proto__
 
__proto__
 
__proto__
позади всех классов, которые являются его наследниками 
Обрыв цепочки __proto__
перед стоп-классом используется
Обрыв цепочки __proto__
после стоп-класса используется
Что такое стоп-классы?
__proto__
 
__proto__
 
Почему нужны дополнительные утилиты для наследования с виртуальными базовыми классами от "множественного наследника"?
__proto__
копируются 
Что делают дополнительные утилиты для наследования с виртуальными базовыми классами от "множественного наследника"?
__proto__
, останавливаясь на тех классах, которые помечены как виртуальные 
multipleInherit
копией другого 
multipleInherit