new Effect.xyz ist sinnvoll, wenn du den Rückgabewert nutzt ...
var meinEffekt = new Effect.Appear(...);
Das ist Unsinn zumindest bei Effect.Appear. Aus dem Quellcode:
Effect.Appear = function(element) {
element = $(element);
var options = Object.extend({
from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0),
to: 1.0,
// force Safari to render floated elements properly
afterFinishInternal: function(effect) {
effect.element.forceRerendering();
},
beforeSetup: function(effect) {
effect.element.setOpacity(effect.options.from).show();
}}, arguments[1] || { });
return new Effect.Opacity(element,options);
};
Ob man diese Funktion mit oder ohne new aufruft, man bekommt immer eine Effect-Instanz zurück.
Das ist also identisch und das new in dem Fall unnötig:
var meinEffekt = new Effect.Appear(...);
var meinEffekt = Effect.Appear(...);
Mathias