База ответов ИНТУИТ

Flash MX для профессиональных программистов

<<- Назад к вопросам

Рассмотрите следующий код

o = Object;        _global.Object = Parent;        Child = function () {};        _global.Object = o;        delete o;

и определите, какие высказывания по его поводу являются справедливыми.

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
этот код обеспечивает корректный вызов базового конструктора через super() без специальной установки поля __constructor__
этот код обеспечивает то, что класс Child становится наследником класса Parent(Верный ответ)
этот код обеспечивает наследование без лишнего вызова конструктора(Верный ответ)
Похожие вопросы

За счет чего следующий код

o = Object;        _global.Object = Parent;        Child = function () {};        _global.Object = o;        delete o;

обеспечивает то, что класс Child становится наследником класса Parent?

Рассмотрите следующий код
function gen(){        var x = 0;        f1 = function(){			trace(++x);        }	        f2 = function(){			trace(++x);        }	        }	                gen();        f1();        f2();
и определите, что именно он выводит в консоль? (В приведенных ниже вариантах ответа мы будем писать [перевод строки] вместо настоящего перевода строки.)
Рассмотрите следующий код
function gen(){       var x = 0;       return function(){	trace(++x);	}   }   f1 = gen();   f2 = gen();   f1();   f2();
и определите, что именно он выводит в консоль? (В приведенных ниже вариантах ответа мы будем писать [перевод строки] вместо настоящего перевода строки.)
Рассмотрите следующий код
function iter_n(n, func){        	return function(x){        		var result = x;        		for (var i=0; i<n; i++){        			result = func(result);        		}        		return result;        	}        }        function func_multiply_ten(x){        	return 10*x;        }        f = func_multiply_ten;        t = iter_n(iter_n(2, f)(2), f)(2);        trace(t);
и определите, что именно он выводит в консоль?
Рассмотрите следующий код
function iter_n(n, func){        	return function(x){        		var result = x;        		for (var i=0; i<n; i++){        			result = func(result);        		}        		return result;        	}        }        function func_twice(x){        	return 2*x;        }        f = func_twice;        z = iter_n(iter_n(2, f)(2), f)(2);        trace(z);
и определите, что именно он выводит в консоль?
Рассмотрите следующий код
function iter_n(n, func){return function(x){		var result = x;		for (var i=0; i<n; i++){			result = func(result);              }	      return result;        }        }        function func_inc(x){        return ++x;        }        f = func_inc;        y = iter_n(iter_n(2, f)(2), f)(2);                trace(y);
и определите, что именно он выводит в консоль?

Какую строчку из приведенных ниже следует вставить в описанную далее функцию superCon

Object.prototype.superCon = function(){        // вот здесь надо вставить строку кода        }

на место, указанное в комментарии, чтобы ее (функцию superCon) можно было вызывать вместо super() в конструкторе (для вызова конструктора базового класса)?

Зачем может быть нужно добавлять функции в класс Object?
Можно ли создать корректный HTML-шаблон, не имеющий одного из тегов <OBJECT> или <EMBED>?

Для каких целей может служить код такого вида:

func = function(someArgsArray){        // Количество аргументов в данном случае выбрано произвольно        super(someArgsArray[0], someArgsArray[1]);        }        class_x = function(argClass, otherArgsArray){        this.__proto__.__constructor__ = argClass;        func.apply(this, [otherArgsArray]);        }