Now there are several obvious modifications to this system that could be made:

1)  It could be assumed that any time the number of arguments
    actually passed to the function is smaller than the number
    declared in IDL, the remaining ones should be assumed to be
    undefined and attempts be made to convert them to something
    reasonable.  This would mean that _all_ DOM methods would
    sprout optional arguments.  I'm OK with this.

This I very much like, if it's easy to implement, it makes them essentially equivalent to what ES users expect, which is what I want!

Note that solutions #1 and #2 do not address a lot of common argument-defaulting scenarios (e.g. document.open type stuff) in DOM0 because those involve defaulting to a value that's not == to undefined.

I'm happy with that, it's the extra==undefined I want to be consistent with non-host functions in ES.

but window.undefined is of course read only.

Why?

oops, sorry, ES3 - 15.1.1.3 actually only has DontDelete and DontEnum for undefined, so it shouldn't be ReadOnly, the readonly appears to be an "extension" to ES3.


This isn't particularly relevant to the javascript library author, as a hash on window is not something you can do in a library for hopefully obvious reasons.

Why not? Just createElement an iframe that loads some of your stuff (e.g. this is the only sane way to convert an HTML document into a DOM in browsers), and then use the window in it. There's more than one Window object around. ;)

Okay, so you're right you "could" do it in a library, but you'd be going pretty mad - the above method is still unsafe unless the document you load into the iframe contains no script.

Cheers,

Jim.

Reply via email to