Prototype 1.6.0 RC1
Создатели Prototype решили не отставать от Script.aculo.us и выпустили Release Canditate 1. Два месяца, после выпуска rc0, они трудились, исправляли баги и добавляли новые функции. Изменений, как всегда, немало:
- Class API
Вместо Class.extend теперь есть addMethods. В Prototype rc0, чтобы добавить функции к классу и его инстанциям, надо было делать:JavaScript:-
var Foo = Class.create();
-
Class.extend(Foo, { /* функции, которые надо добавить */ });
Теперь же можно написать так:
JavaScript:-
var Foo = Class.create();
-
Foo.addMethods({ /* функции, которые надо добавить */ });
Class.create теперь также принимает как параметр различные списки функций. Например если нужно добавить к классу функциональность Enumerable, то достаточно написать следующее:
JavaScript:-
var MyClass = Class.create(Enumerable);
-
-
Event API
Чтобы избежать конфликта DOM событий с так называемыми custom событиями, для custom событий теперь необходим namespace. Разработчики рекомендуют следующий namespace: существительное в единственном числе, потом двоеточие и глагол в прошедшем времени. Например:JavaScript:-
"effect:queued"
-
"widget:activated"
-
"dom:loaded"
-
и так далее
-
-
Hash class
Этот класс был полностью переписан. Теперь доступ к содержимому хэша происходит через getters & setters. Раньше это работало так:JavaScript:-
var myhash = new Hash();
-
myhash.name = "Bob";
-
myhash.name;
-
delete myhash.name;
А теперь в новом прототайпе так:
JavaScript:-
var myhash = new Hash();
-
myhash.set('name', 'Bob');
-
myhash.get('name');
-
myhash.unset('name');
-
Это были главные обновления, есть ещё некоторые изменения, о которых можете почитать в CHANGELOG или на блоге Prototype. Создатели заявили, что RC1 - это последний релиз перед финальной версией, которая ожидается в начале ноября.
P.S. Россия Англия 2 : 1
Ура ![]()
1 Comment so far
Leave a reply
Более полно на русском языке можно прочитать здесь:
http://victor.kolibrios.org/articles/20071024/prototype-1-6-0-rc1-changes-to-the-class-and-event-apis-hash-rewrite-and-bug-fixes.html