Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   ExtCanvas - мой маленький "фреймворк" (https://javascript.ru/forum/project/17722-extcanvas-mojj-malenkijj-frejjmvork.html)

Shock 24.06.2011 23:21

Да, тот самый =)

Shock 25.06.2011 00:07

Ваша функция toArray имеет ряд недостатков. Как по скорости, так и по логике. Лучше использовать что-то типа такого:
var toArray = function(o) {
	return Array.prototype.slice.call(o);
}

DNemo 25.06.2011 00:11

Цитата:

Сообщение от Shock (Сообщение 110376)
Код, кстати, на удивление хорош. Конечно, есть некоторые ошибки, кое-где видны не очень хорошие знания JavaScript, но в общем - код на редкость качественный

Например:

this.setListener = function(type, listener) {

	switch (type) {
		case 'mouseover':
			this.mouseover.set(listener);
			break;

		case 'mouseout':
			this.mouseout.set(listener);
			break;

		case 'mousemove':
			this.mousemove.set(listener);
			break;

		case 'mousedown':
			this.mousedown.set(listener);
			break;

		case 'mouseup':
			this.mouseup.set(listener);
			break;

		case 'mouseclick':
			this.mouseclick.set(listener);
			break;
	}
}


Вполне можно заменить на:

this.setListener = function(type, listener) {

	if ( ['mouseover', 'mouseout', 'mousemove', 'mousedown', 'mouseup', 'mouseclick'].indexOf(type) === -1 ) return;

	this[type].set(listener);
}

Да, профессионально программированием занимаюсь менее года.

Цитата:

Сообщение от Shock (Сообщение 110377)
Да, тот самый =)

Охренеть :blink:

Цитата:

Сообщение от Shock (Сообщение 110380)
Судя по коду вы хорошо знаете другой язык. Например, Java

Действительно, изучать программирование я начал именно с Java :)

Цитата:

Сообщение от Shock (Сообщение 110382)
Ваша функция toArray имеет ряд недостатков. Как по скорости, так и по логике. Лучше использовать что-то типа такого:
var toArray = function(o) {
	return Array.prototype.slice.call(o);
}

С этой функцией вышла целая история, надо было просто посмотреть как она реализована в какой-нибудь популярной библиотеке.

Shock 25.06.2011 00:14

Чего охренеть?
Я Вам вот что советую - не стоит распылять силы OS сообщества - лучше присоединяйтесь к LibCanvas ;)

DNemo 25.06.2011 00:17

Ну как что, Вы, можно сказать, великий Гуру для меня :thanks:
С удовольствием присоединюсь, все никак руки не дойдут разобраться с AtomJS.

Shock 25.06.2011 00:19

Пишите в Jabber shock@jabber.com.ua , пообщаемся)

Kolyaj 25.06.2011 21:26

Shock,
вы под IE не пишите, как я понимаю? :)

Цитата:

Сообщение от Shock
if ( ['mouseover', 'mouseout', 'mousemove', 'mousedown', 'mouseup', 'mouseclick'].indexOf(type) === -1 ) return;

indexOf у массивов нет в IE.

Цитата:

Сообщение от Shock
return Array.prototype.slice.call(o);

В IE с DOM-коллекциями такой финт не пройдёт.

Shock 25.06.2011 21:30

Зачем в Canvas-фреймворке костыли для IE, если даже с ними там ничего не заработает?

Kolyaj 25.06.2011 21:39

Цитата:

Сообщение от Shock
Зачем в Canvas-фреймворке костыли для IE

Действительно.

DreamTheater 25.06.2011 23:42

Ну почему же, в IE9 все замечательно работает, причем даже быстрее чем в других браузерах.


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