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

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

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

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

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

(Отметьте один правильный вариант ответа.)

Варианты ответа
для вызова конструктора любого базового класса через apply(Верный ответ)
для вызова через apply конструктора любого базового класса, кроме системных
этот код некорректен и выполняться не будет
Похожие вопросы
Рассмотрите следующий код
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);
и определите, что именно он выводит в консоль?
Рассмотрите следующий код
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_multiply_ten(x){        	return 10*x;        }        f = func_multiply_ten;        t = iter_n(iter_n(2, f)(2), f)(2);        trace(t);
и определите, что именно он выводит в консоль?
Рассмотрите следующий код
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();
и определите, что именно он выводит в консоль? (В приведенных ниже вариантах ответа мы будем писать [перевод строки] вместо настоящего перевода строки.)
Отметьте все причины, по которым объект с динамически установленным __proto__ может не являться адекватной заменой объекта, созданного при помощи new (так, что ссылки __proto__ у обоих объектов будут одинаковы)?

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

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

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

Зачем может быть нужно добавлять функции в класс Function?
В какой момент становятся доступны (не локальные) функции, определенные способом function name()?
В какой момент становятся доступны (не локальные) функции, определенные способом name = function ()?