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