Часто, когда необходимы значения по умолчанию — в функцию передается объект.
function test(options)
{
if(options.foo===default)options.foo=30;
if(options.bar===default)options.bar='test';
console.log(options.foo,options.bar);
}
Для такого случая тоже можно написать аналог вашей функции, устанавливающей значение по умолчанию — и у такого подхода есть свои очевидные преимущества.
1. Конечно же, я смотрел библиотеки для работы с canvas. Обычно мне не нравились интерфейсы — в jCanvaScript я старался делать все так, чтобы ее использование было простым и понятным.
2. Мне казалось не очень правильным писать библиотеку, привязанную к какому-либо фреймворку.
Raphaël ['ræfeɪəl] uses the SVG W3C Recommendation and VML as a base for creating graphics. This means every graphical object you create is also a DOM object…
function test(options)
{
if(options.foo===default)options.foo=30;
if(options.bar===default)options.bar='test';
console.log(options.foo,options.bar);
}
Для такого случая тоже можно написать аналог вашей функции, устанавливающей значение по умолчанию — и у такого подхода есть свои очевидные преимущества.
2. Мне казалось не очень правильным писать библиотеку, привязанную к какому-либо фреймворку.
3. Репозитория на GitHub нет, но будет.
Их нельзя сравнивать, на мой взгляд.
Замеры производительности — это отличная тема для еще одного топика.
Все будет)
Работы на самом деле еще очень много. Надеюсь, меньше ее не станет.
Тексты в данный момент проверяются, исправляются.