Hi,

just reading this thread, sorry for the late comments.

> There is a related idiom in qooxdoo named "this.base(arguments)". This 
> will actually *call* the corresponding method of the super-class. The 
> "arguments" vector is now used for both, determining the super-class 
> method and actually evaluating the parameters.

That is not quite correct. For this.base(arguments) as well as
this.self(arguments) the "arguments" is unrelated to regular argument
passing. 

"arguments" is a native JS variable that (among other stuff) allows to
refer to the _actual_ function it lives in, independent of any context
that a method may be executed with. Calling a method in arbitrary
context is a fundamental JS feature (by using the native .call()
or .apply() methods on a function object), so "this" within a method
could refer to any arbitrary object. Because we need to set and retrieve
properties on the actual function object, "arguments" is needed as well
to mimic Java's super() call here. It's as sexy as it gets in JS.

http://qooxdoo.org/documentation/0.8/classes#inheritance

Hope that helps,

Andreas



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to