������ 2 ������ ����� ��������� 1.6.0 RC0, � ����� �� ���� ������� �� ��������� ��������� ����� � ��������� ��������� ��������� � Class � Event API. ��� �� ��������� ��������� �������� � ������ Hash. ��� ��������� ������ �������� ��� ������ �� ������ �����-���������, Prototype 1.6.0 RC1. ������� ����� ����� ������ ����� ��������� ��������� ����� ��������, ��������� �� �������, ������, ������������ � ����������� �������� Prototype.
��������� � API �������, �������� � [7833], ��������� �������, ������� �� �������� �� 1.6.0_rc0, � �������������� ���������� �������. ���� ������ ����������� � ��������� API, ��� �� ��� � ��������� ��������� ��� ����������� ��������� � ������� ������� Prototype.
��� ����� �� ������ Class.extend � Class.mixin ������, ����������������� Class.create ���������, � �������� ������ ���������� ������� � ������������ ������. API �� ��� ������� ���������� �� ����� pre-1.6 �������� Prototype. �� �� ������ ��������� ������ ������������, � �� �� �������� ������ �������� ������ � ������� superclass-� � ������� ������������ ��������� $super.
����� ������� ��������� - ��� �� ��� ��� ������ (�������, ������������ �� Class.create(), �� ���������� ���� �������) ������ ����� ����� “addMethods.” ���� ����� ��������� ���� �������� - ������, �������� � ������ �������� ���������� ��� ���������� ������.
��������, � 1.6.0_rc0 �� �� ������:
var Foo = Class.create();
Class.extend(Foo, { /* instance methods */ });
������ ���� ������:
var Foo = Class.create();
Foo.addMethods({ /* instance methods */ });
��� � � 1.6.0_rc0, �� ������ ��������� ���������� ������ ����� �� Class.create:
var Foo = Class.create({ /* instance methods */ });
����� ��������, ��� ���������� � 1.6.0_rc0 ������� ������ ������������ �� �����������, �� ������ �������� ����� ������ ���������� � Class.create (����������� ����� ����� ���������� ���������� ������):
var Bar = Class.create(Foo);
var Baz = Class.create(Foo, { /* instance methods */ });
������ Prototype ������� ����� addMethods ���������� ������ ����� �������� ������, ���������� � Class.create.
�� � �������, �� �������� Class.create ���, ����� �� �������� ���������� ����� ����������, ��� ��� �� ������ ������� ��������� ��������� ���������� ������� ��� ���������� � �����. ��� ������� �������� ���������� �������� (mixin) � �����, ����� ������������ ����� ����������� �������:
var Bar = Class.create(Foo, Enumerable, SomeMixin, { /* instance methods */ });
var Baz = Class.create(Enumerable, { /* instance methods */ });
�� ������ ��������� � ��� “�������” ������ ����� ������������ � ����������� ������������ �� ������� � ������������ � Prototype.
��������� ���������, �� ������ ��������� ������������ ���������������� ������� � [7835]: ����� ���� ���������������� ������� ������ ������ �������� ������������ ���. ��� ��� ������� ������� �������� ���������� ��� ���������������� ������� � �������������� ����������� DOM �������, ����� “mousewheel” � “DOMMouseScroll.”
����� ������������ ��������, Prototype ����������� ������� � �������, ��������������� � ������� the Event.DOMEvents, ��� ���������� DOM �������. ������, Prototype ���������� ������� ����������� ������������ ��� � ��������� ��������� � ����� ���������� ����� ��� ������� �� ������������� - ���������������� ������� ��� ���������� �������.
�� ������ �������� ���� ���, ������������ ������� “contentloaded” �� 1.6.0_rc0, ������� ������ ����� ������ ��� - “dom:loaded.” ��� �� �� ������ �������� ������������ ��� �� ���� ������ ���������������� ��������, ����� �� ����� ���� �������� � ������������. �� �������� ������������ ���������� ��������������� ��� ����������� ���, � ������� � ��������� ������� ��� ��� ������� (�������� “effect:queued”, “widget:activated”, � �.�.).
�� ��� �� ��������� ��������� ��������, �������� �������������, ������� ���������� ������������ inline-����������� ������� � ���� ����: ��� �� ����� ���������� ��������������� ������� � ������� Event.stop(e) � IE, ������ ��� event ������ �� ��� ��������. ������ Event.stop � Event.element ���������������� �� ���������� event-������ ������������� � �������� ��� ��������� � ������ � inline ���������� �������. ��������, ��� ������������� inline-������������ ������� �� ���������� �� ��������������; ��� ����� ��������� ��� ��� �� ������������� Event.observe ��� Element#observe �������, ��� ��� ��� ��������.
Backwards compatibility change – �������� �� ��, ��� ��� ������ ��� ��� �� �����, ��� � �����, ����� ������ �� ���������� � Hash ������� �� ���������� ������ Prototype.
�������� ���� ������ ������ � ��������� ��������� ��� �������������� ������� �������� � ����������� �������� � ���������� �������� ����. ��� ������ ��� ������ ���������/��������/������� �������� ���� �������� �� ���������; �� ������ ������������ ���������� ������ Hash#get(key), Hash#set(key, value) � Hash#unset(key). � �������:
var myhash = new Hash();
// ������ API --> ����� API
myhash.name = "����"; --> myhash.set('name', '����');
myhash.name; --> myhash.get('name');
delete myhash.name; --> myhash.unset('name');
�� ����� ������ ������������ � ������� ����������� � Hash API:
document.getElementsByClassName('foo') --> $$('.foo')
element.getElementsByClassName('foo') --> element.select('.foo')
� ������� ������ 1.6.0_rc0 �� ��������� 19 �����; �������� CHANGELOG, ����� ������ ����� ��������� ����������.
������� �������� ����� ��������������, ��������� ������� ���� ����� ���� ���������! RC1 ����� ����� ��������� ����� ����������, �������� ��������, � �� ������ ����� ��������� ������ 1.6.0 � ������ ������.