Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 09.02.2010, 03:32
Аватар для Мараторий
Кандидат Javascript-наук
Отправить личное сообщение для Мараторий Посмотреть профиль Найти все сообщения от Мараторий
 
Регистрация: 22.01.2010
Сообщений: 114

Жестокий тест. В практике практически не применимо (извините за тавтологию). Нужно только для спортивного интереса.
С первого раза у меня вышло: You've got 4 answers wrong (#2, #3, #8, #9).
Со второго все поправил.
Ответить с цитированием
  #12 (permalink)  
Старый 09.02.2010, 09:47
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Не ответил на 5 (не заметил вызов функции) и на 14 (с чего-то решил, что переменной с именем undefined быть не может). Такие тесты, вообще говоря, скучны -- сидишь, компилятором работаешь.

По поводу применимости/неприменимости: в экзамене Zend на сертифицированного PHP-программиста много подобных вопросов (на знание PHP, разумеется), он тоже, скажете, туфта?
Ответить с цитированием
  #13 (permalink)  
Старый 09.02.2010, 10:11
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Kolyaj
в экзамене Zend на сертифицированного PHP-программиста много подобных вопросов (на знание PHP, разумеется), он тоже, скажете, туфта?
так а что такие тесты показывают?
Ответить с цитированием
  #14 (permalink)  
Старый 09.02.2010, 10:13
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Знание языка, очевидно, на котором пишешь. Мне щас трудно вспомнить конкретные примеры, но некоторые баги я бы исправлял в несколько раз дольше, если бы не знал многих тонкостей. Если бы вообще исправил. А уж выяснение, почему твой код не работает в сочетании со сторонним, это вообще песня.

Последний раз редактировалось Kolyaj, 09.02.2010 в 10:15.
Ответить с цитированием
  #15 (permalink)  
Старый 09.02.2010, 14:33
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

8 из 14, стыд мне и позор. Два, причем, по невнимательности.

Спасибо, отличный тест, теперь я знаю, что еще нужно подтянуть.
Ответить с цитированием
  #16 (permalink)  
Старый 09.02.2010, 14:41
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Сообщение от Мараторий
В практике практически не применимо
Ну, знаете, в чистом виде это применять вряд ли можно. Но сам подходы реюзабельны еще как.

Представим себе конструкцию:
var myEngine = function(){
// инициализируем что-нибудь нужное
arguments.callee.myMethod = function(e){
// сделать что-нибудь полезное
}
}
myEngine.myMethod = function(){
myEngine(); // инициализация
myEngine.myMethod.apply(this, arguments); // к этому моменту myEngine.myMethod будет ссылаться уже на новую функцию
}

Т.е., в итоге получаем, что инициализация происходит неявно и один раз. Наверняка же такую же вещь можно сделать поизящнее
Ответить с цитированием
  #17 (permalink)  
Старый 10.02.2010, 04:37
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Kolyaj
Знание языка, очевидно, на котором пишешь.
ну да... но насколько хорошо надо знать язык, чтобы успешно применять его на практике? Возьмем хотя бы этот тест
(function(){ // 1
    return typeof arguments;
})();

ну как бы да, надо знать, что arguments - не массив и добавить в него чего-то и отправить в следующую функцию так сходу не получиться. Но зачем знать его тип? Один раз пишем toArray и запоминаем, что arguments это вам не Array
var f = function g(){ return 23; }; // 2
typeof g();

(function(x){ // 3
    delete x;
    return x;
})(1);

var y = 1, x = y = typeof x; // 4
x;

да, полезно знать, что присваивание выполняется справа налево
(function f(f){ // 5
    return typeof f(); 
})(function(){ return 1; });

у параметров приоритет перед названием функции? Ну может иногда пригодиться
var foo = { // 6
    bar: function() { return this.baz; }, 
    baz: 1
};
(function(){ 
    return typeof arguments[0]();
})(foo.bar);

теряется контекст (своими словами)? Пишем один раз bind и запоминмаем, что контекст может теряться
var foo = { // 7
    bar: function(){ return this.baz; },
    baz: 1
}
typeof (f = foo.bar)();

var f = (function f(){ return "1"; }, function g(){ return 2; })(); // 8
typeof f;

var x = 1; // 9
if (function f(){}) {
    x += typeof f;
}
x;

да, полезно знать, как переменные в булевский тип преобразовываются и что происходит при конкатенации строки и числа
var x = [typeof x, typeof y][1]; // 10
typeof typeof x;

(function(foo){ // 11
    return typeof foo.bar;
})({ foo: { bar: 1 } });

это просто на внимательность
(function f(){ // 12
    function f(){ return 1; }
    return f();
    function f(){ return 2; }
})();

если в функции тонна вложенных функций, то это какбэ символизирует
function f(){ return f; } // 13
new f() instanceof f;

интересно, можно подменить возвращаемый объект... хотя пока не вижу применения
with (function(x, undefined){}) length; // 14



ну и еще полезно знать, что функция - тип данных, бывают функции-литералы и что возвращает typeof (из того, что нужно для прохождения этого теста)

кроме того, если не знаешь, как что-то работает, это ж легко можно проверить

итого, я насчитал где-то 4 практических вопроса. А вы?
---
про копание в чужом коде: в идеале нужно знать все про язык, потому что все, что ты не знаешь может быть использовано против тебя везде А если серьезно, то я затрудняюсь с более реальным списком для этого случая. Ничего в голову не приходит...

subzey, а можно это как-то поподробнее и с цветными картинками, а то я не уверен, что я правильно понимаю сказанное? (с)
Ответить с цитированием
  #18 (permalink)  
Старый 10.02.2010, 13:44
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

> интересно, можно подменить возвращаемый объект... хотя пока не вижу применения
синглетон
__________________
.ня
Ответить с цитированием
  #19 (permalink)  
Старый 10.02.2010, 13:48
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от x-yuri
интересно, можно подменить возвращаемый объект... хотя пока не вижу применения
http://github.com/Kolyaj/CrossJS/blo...HttpRequest.js
Ответить с цитированием
  #20 (permalink)  
Старый 10.02.2010, 18:36
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

убедили, 5 из 14 вопросов
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Собрался силами, собираюсь освоить Javascript walker Общие вопросы Javascript 14 20.03.2012 15:17
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43