On Jun 22, 2011, at 2:36 PM, Sean Eagan wrote: > On Wed, Jun 22, 2011 at 2:10 PM, Brendan Eich <bren...@mozilla.com> wrote: >>> Yes, functions have static scope, but functions (and all objects) do >>> not have static owning objects, >> The scope in ES1-5 can be an object, the global object. Your use of "owning" >> here either covers that case, in which your claim is false, or you need to >> define it better. > > By "owning object" I mean an object which has the function (or > arbitrary object) as one (or more) of its properties. Regardless of a > function's scope, it may have multiple owning objects, one of which > may be the global object, as opposed to a single permanent (static) > owning object.
This is all theoretical. In my experience, methods written either as function-valued properties in object literals, or goog.foo.bar = function (){} assignments, are the norm and there is only one "here" for each such method. > Is there no per-call cost whatsoever to adding static super? No, it's static -- an internal property of the function object set once on creation and (in my view) never changed thereafter unless unobservably (Allen's point about optimizing Object.defineMethod when "handing off" an otherwise-useless function expression). /be _______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss