From: Thomas 'PointedEars' Lahn on
kangax wrote:
> There's `Object.prototype.hasOwnProperty` infamous for its lack of
> support in older (but not ancient) browsers, such as Safari <2.0.4. Also
> see <http://pointedears.de/scripts/test/es-matrix/> (can't link to
> particular table row there).

Currently you can link to some rows, but not to this one. You can use

<http://pointedears.de/scripts/test/es-matrix/#o>

though, to make it easier to find it.

I had the same problem several times and have already decided to use more
anchors in the next release. Thanks for mentioning my little project.


PointedEars
--
Use any version of Microsoft Frontpage to create your site.
(This won't prevent people from viewing your source, but no one
will want to steal it.)
-- from <http://www.vortex-webdesign.com/help/hidesource.htm> (404-comp.)
From: kangax on
Thomas 'PointedEars' Lahn wrote:
> kangax wrote:
>> There's `Object.prototype.hasOwnProperty` infamous for its lack of
>> support in older (but not ancient) browsers, such as Safari <2.0.4. Also
>> see <http://pointedears.de/scripts/test/es-matrix/> (can't link to
>> particular table row there).
>
> Currently you can link to some rows, but not to this one. You can use
>
> <http://pointedears.de/scripts/test/es-matrix/#o>
>
> though, to make it easier to find it.

Oh that's better. Thanks.

>
> I had the same problem several times and have already decided to use more
> anchors in the next release. Thanks for mentioning my little project.

Np. Is "next release" version available online anywhere? It would be
easier to contribute knowing what changed in new version and what didn't.

--
kangax
From: abozhilov on
On Sep 12, 11:10 pm, kangax <kan...(a)gmail.com> wrote:

> Also note that ES5 spec (currently draft) introduces [[GetOwnProperty]],
> and you can see that it is this [[GetOwnProperty]] that's being used in
> step 1 of [[Delete]] (see 8.12.7)
>
> Ambiguity begone :)

That's i want to know. Thanks. With [[GetOwnProperty]] its more
clearly for my.


From: Thomas 'PointedEars' Lahn on
kangax wrote:
> Thomas 'PointedEars' Lahn wrote:
>> I had the same problem several times and have already decided to use more
>> anchors in the next release. Thanks for mentioning my little project.
>
> Np. Is "next release" version available online anywhere?

No, it is not yet publicly available online, that's why I call it a
*release* :) Meaning that I'm going to *release* it to the public when I
think it is ready (but not necessarily complete). At least I have it in an
SVN repository now, and are filling a PHP array instead of a table, so that
should make things easier (including the changelog); however, there are
still quite a number of entries to be migrated, and code to be written to
accomodate for footnotes and the like (e.g., features being supported in
JScript 5.8 but not in 7.0+ which is likely to cause some gray hair). Rest
assured the announcement of the release will be made here.

While we are at it, because there are quite some differences I'm going to to
list the documented/assumed version, and the earliest tested version for
each feature vertically in the corresponding table cell. Do you (all of
you) think that would be useful or would it rather clutter up the table too
much?

Also, in order to keep the document small, I'm going to enable syntax
highlighting with client-side scripting instead of static `code' elements as
it is now. Are you OK with that? Any suggestions about syntax highlighting
in general?

> It would be easier to contribute knowing what changed in new version and
> what didn't.

Because of the current lack of a public bug tracking system (I'm getting
ideas here!), just drop me a note (here or via PM) on what you think is
missing/wrong in the current version and I'll consider adding/correcting it
in the next. I don't mind any dupes in the process if you don't mind me
telling you about them :)

Thank you in advance.


Regards,

--
realism: HTML 4.01 Strict
evangelism: XHTML 1.0 Strict
madness: XHTML 1.1 as application/xhtml+xml
-- Bjoern Hoehrmann
From: Garrett Smith on
kangax wrote:
> Garrett Smith wrote:
>> kangax wrote:
>>> Garrett Smith wrote:
> [...]
>>>> The same error is produced if |function a| is interepreted as a
>>>> FunctionStatement (Spidermonkey extension). We can test this by
>>>> placing |function a| in a block:-
>>>>
>>>> {
>>>> a();
>>>> function a(){return 1;}
>>>> }
>>>>
>>>> ReferenceError: a is not defined
>>>>
>>>> So whatever Firebug is doing with your code, it is not running it as
>>>> ProgramCode.
>>>
>>> It's not. It appears to be executed as Eval Code
>>
>> How could that be? eval must parse the string value as a Program.
>> Here's a perfectly valid program:-
>>
>> x();
>> function x(){ console.log('done x!'); }
>>
>> Maybe it's going line by line.
>
> Maybe. I have no idea (need to look at FB's source).
>
>>
>> in a global scope via
>>> `window.eval` with all its consequences (e.g. variable declarations
>>> resulting in properties without DontEnum). It's interesting that
>>> `window.eval` doesn't set `thisArg` to reference `window`, and so
>>> `this` in console references firebug's `_FirebugCommandLine`.
>>>
>>> From what I remember `window.eval(/*...*/)` in Gecko is similar to -
>>> `with (window) eval(/*...*/)`. Besides that, Firebug seems to import
>>> its helpers by doing - `with (_FirebugCommandLine) { /*...*/ }`,
>>> which would explain all these slowdowns.
>>>
>>> It also leaks some of its housekeeping details:
>>>
>>> typeof expr; // "string"
>>
>> Uh, not good.
>>
>> I also noticed a |window.f| property doing in the DOM tab.
>
> I don't see `window.f` in 1.5X.0a23 (that's one weird version/build
> number). Are you sure it wasn't declared by some other script?
>

Sorry. it's not f, but r, and it explains that a |with| statement is used.

Type into the command line:
console.log(r);
a();
function a(){}

Result:

<div id="_firebugConsole" style="display: none;"
FirebugVersion="1.4.2" firebugCommandLineAttached="true"
methodName="log" expr="with(_FirebugCommandLine){console.log(r); a();
function a(){} };">

So we can see that |a| became a FunctionStatement, and, being a
Statement, is evaluated in the order of Statements.

Now if we run the example in IE, we can see that

Kidding, kidding.

;-D

>>
>> I have been checking that DOM tab after running my tests and it has
>> helped me find a couple of undeclared identifiers.
>>
>> 1) run test
>> 2) look at DOM tab
>> 3) check for things like |i|, or other identifiers.
>
> I have a bookmarklet for that :)
> <http://thinkweb2.com/projects/prototype/detecting-global-variable-leaks/>
>
Ah, I see now you are talking about the |r| identifier there, too.

--
Garrett
comp.lang.javascript FAQ: http://jibbering.com/faq/