[whatwg] Canvas 2d methods
Ian Hickson
ian at hixie.ch
Sun Jul 2 14:18:51 PDT 2006
On Sun, 2 Jul 2006, Andrew Fedoniouk wrote:
>
> 1) if it is declared as
> var foo = something; in current frame then
> foo.bar();
> foo.baz();
> then execution is quite efficient.
>
> But
> with(something)
> {
> bar();
> baz();
> }
>
> still requires scan of the whole universe in the worst case.
But this isn't the worst case! It's the best case -- you know exactly what
a 2D context's members are.
> Consider this:
>
> with(ctx)
> {
> bar( some_var_name );
> }
>
> runtime will scan full chain of ctx for some_var_name. What for?
It will scan *exactly* the same places as it would have if you didn't have
the "with", plus the context itself.
Anyway, this is all a straw man -- this isn't the reason that the spec
doesn't allow this. It doesn't allow this because Safari didn't do it this
way in the first place, and changing it would likely introduce bugs (while
still not helping authors for some time anyway).
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
More information about the whatwg
mailing list