On 7/27/07, liorean <[EMAIL PROTECTED]> wrote:
> x()===y() may return false the same way x()===x() may return false.
> Functions in JavaScript may have side effects, and the same input
> doesn't necessarily give the same output in cosecutive uses of the
> function.

No, I don't mean side effect, and there is no side effect in this
case. The result may be not equal just because they have diff
[[Scope]].

>
> Functions with different scope may be joined, but only if the scope
> difference will lead to no externally observable difference.

Could you point out in where the spec defines such condition?

The spec only says: ...an implementation may detect when the
differences in the [[Scope]] properties of two or more joined Function
objects are not externally observable and in those cases reuse the
same Function object rather than making a set of joined Function
objects.

My impression of it is: if the differences in the [[Scope]] are
externally observable, then the implementation can't reuse the same
object, but can make a set of joined Function objects.
_______________________________________________
Es4-discuss mailing list
Es4-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es4-discuss

Reply via email to