Search
Write a publication
Pull to refresh
3
0

User

Send message
А существует ли более последовательная и подробная документация чем в nmpjs.org? А то, несмотря на все статьи и пример, непонятно с какой стороны подступиться.
Спасибо, сменил порт на 8080, полегчало)
А то что impress требует права root для запуска сервера даже при установке через npm install impress в домашний каталог это нормально или у меня что-то пошло не так? Если да, то объясните пожалуйста с чем это связано и как лучше разворачивать impress на этапе отладки приложения. Песочница?
Я оба этих подхода использую. Всегда считал что, например, отличать гетер от сетера по отсутствию аргумента вполне себе логично. Хотя может это и не совсем тот случай.
Можно сказать так: я не пропагандирую свой подход как панацею, но если уж где-то оказывается целесообразным устроить разбор arguments, то лучше это сделать как-то так чем колдовать с индексами.
Не особо понял это к какому участку кода относится?
Вообще иной раз жертвую компактностью ради наглядности.
Согласен в чём-то. Самое интересное что разрулив ситуацию, которая привела к решению, описанному в статье, я тут-же написал новый метод-обёртку, который устанавливал свежедобавленный аргумент и вызывал исходную функцию.
Возможно получилось бы добиться того-же не усложняя аргументов исходной функции, но больно уж она важнуюю роль играла. Наиболее безопасным показалось поступить с её ядром как с чёрным ящиком.
Если количество однотипных аргументов зашкаливает, то, согласен, надо передавать объект.
Решение в том, чтобы не делать разборов arguments. Метод checkin сделает это за вас. Налицо упрощение при вызове и весьма умеренная сложность при разборе.
Про колбек ясно, но моё решение состоит как-раз в том, чтобы не перебирать индексы.

if(args.checkin('number a', 'opt object b', 'opt bool c', 'opt function d')){
//Используем параметры args.a, args.b, args.c, args.d

}

foo(1, true, function(){});

И если, как в примере, параметра b нет, то параметр с всё равно будет доступен как args.c
И тем не менее авторы jQuery предусмотрели передачу duration, easing, complete через список аргументов, а не только в объекте свойств.
Значит это кому-то нужно, потому-что упрощает жизнь.
Согласен, весьма распространённый случай, а как быть с Number и String, которые могут стоять перед колбеком?
.animate( properties [, duration ] [, easing ] [, complete ] )
1. Если среди них есть необязательные, то при вызове придётся указаывать его как null например.
2. Невозможно использование 2х разных прототипов.
Как пример могу привести метод animate из jQuery API. Он изобилует необязательными аргументами и имеет 2 прототипа.

.animate( properties [, duration ] [, easing ] [, complete ] )
.animate( properties, options )

Information

Rating
Does not participate
Registered
Activity