Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Тестовое задание Yandex (https://javascript.ru/forum/offtopic/18474-testovoe-zadanie-yandex.html)

B~Vladi 05.07.2011 13:57

А, ну например bind. С первого взгляда удобная штука. Но, насколько я понял, этот метод добавляет ещё больше путаницы.
Поправьте, если я ошибаюсь. Это новый метод функции. Его можно вызвать и после определения, где-нибудь в другой части кода. И не один раз, т.е. переопределить. Тогда как вообще потом искать, откуда берётся именно этот this. Либо это контекст, либо "забинденый" - непонятно. А если забинденый, то где и когда? Контекст то хоть можно отловить, если пройтись по стеку вызовов.
Про наполнителя массива вообще молчу.

PS: это задание они уже не первый год рассылают.

melky 05.07.2011 14:05

Цитата:

Сообщение от monolithed (Сообщение 111836)
Считаю, что браузер при включении должен обращаться к неким репозиториям для загрузки последних спецификаций.

обновление же :)

если бы убрали возможность контролировать проверку обновлений через гуй ( а через конфиг можно.. таким образом отсеятся те, кому "по приколу" оставлять старый браузер)

monolithed 05.07.2011 14:42

Цитата:

Сообщение от B~Vladi
PS: это задание они уже не первый год рассылают.

ну, задания явно не для новичков рассчитаны, особенно с этой страницы.

melky 05.07.2011 15:34

задание

Цитата:

Что такое замыкание в JavaScript?
Problems, developer ?

float 05.07.2011 16:15

Цитата:

Никто не заставляет вас использовать новый синтаксис.
Если на работе будет хоть один, кто юзает новый синтаксис - придётся...

Илья Кантор 05.07.2011 17:00

/me с радостью убедился, что большинство вопросов из топика и вакансий яндекса отвечены в курсах по javascript

Илья Кантор 05.07.2011 18:22

P.S. А ниче если мы тут варианты решений пообсуждаем яндекса?

Например, вопросы 2 и 4 отсюда http://company.yandex.ru/job/vacanci...xml?ncrnd=2215

На ум сразу приходит фича new, когда оно возвращает объект из return.
Ну, то есть для вопроса 4 это будет
function MyClass() {
  return window
}
А для вопроса 2 - будет
function f(a) {
    var b = new function() { return a }
    return b;
}
Это так и имелось в виду?
Решение какое-то ну никак не жизненное... (как впрочем и сам таск)

Илья Кантор 05.07.2011 18:34

P.S. Смотрю еще задания яндекса.. например http://company.yandex.ru/job/vacanci...xml?ncrnd=2215, вопрос 3.
var Foo = function (value) {
    return { ... }
};

function test() {    
    var x = new Foo(5);
..
Это такой яндекс-стиль, что ли - вызывать через new функции, возвращающие объекты? :) Коляй, поясни?

B~Vladi 05.07.2011 18:43

Эмм, для второго будет так:
function FooClass(){}
var a = new FooClass(); // имя FooClass может быть любым, заранее неизвестно
function f(a) {
    var b = new a.constructor;
    return b;
}
var b = f(a);
alert(b instanceof FooClass);


... ну если не будет такого кода:
FooClass.prototype = {};

monolithed 05.07.2011 18:57

Цитата:

Сообщение от Илья Кантор
Ну, то есть для вопроса 4 это будет

мне кажется так корректней))
function MyClass() {
     return this.constructor ? this.constructor : arguments.callee;
}
var a = new MyClass,
b = new MyClass;
alert(a === b); // true


Часовой пояс GMT +3, время: 20:47.